Play2.0でBootstrap2.0を使う方法を紹介します。Play2.0ではパッケージviews.html.helper.twitterBootstrapにBootstrap用のテンプレートがあるのでこれ使えばいいじゃんと思っていたのですが、残念ながらこれはBootstrapの2.0には対応していません。見てみた…
今日はAkasaka.scala 31に参加してきました。その時のメモと、後で調べようと思っていたことを書きます。(Akasaka.scalaについてはこちらを見て下さい)今日の内容はScalaの言語仕様読書会(第4章)と、Play2.0のハンズオンでした。 Scala言語仕様 2.8 リー…
今回もNew TokenStream APIに関連した機能を見ていきます。前回はサンプルを通して同API全体的に見ていきましたが、今回は少し詳細な内容で、Attributeを生成する役割を持つAttributeFactoryについて紹介します。なお、今回紹介するLuceneのコードのバージョ…
今回はLuceneのanalysisパッケージのNew TokenStream APIを紹介します。名称にはNewとついていますが、もう2年以上前のLucene2.9で提供されたAPIで、従来の用途への影響を最小限に抑えつつ、それまでのものより柔軟な拡張が可能とする為に新しく作られました…
今回はSolrのResult Grouping(Field Collapsing)の機能について紹介します。この機能は検索結果を特定のフィールドでグループ化します。SQLのgroup byみたいなものと思ってもらうと分かりやすいでしょう。具体的な例だとGoogle検索の以下のような表現が良…
今回はCharFilterの総集編(?)ということで、「昭和フィルター」という独自フィルターを題材に、独自CharFilterの作り方と使い方を紹介します。「独自」とは言っても、MappingCharFilterとPatternReplaceCharFilterでほとんどのCharFilterでやるべきことは…
Lucene/Solrには、任意の文書をキーワードで検索するための索引(INDEX)を作るための方法として、Analyzerという仕組みを提供しています。INDEXは文書を検索のための文書の最小要素(Token)が登録され、検索の際にはこのTokenと一致することが検索にhitす…
CharFilterの最後はHTMLStripCharFilterFactoryです。このコンポーネントのHTMLStripCharFilterは、名前の通り、入力からHTMLやXMLなどのタグを除去します。また数値参照や文字参照を、対応する文字の実体へ変換も行います。以下はwikiにも載っている、出来…
今回はPatternReplaceCharFilterFactoryの使い方を紹介します。このクラスは前回のMappingCharFilterFactoryと同様に、SolrのCharFilterの一つで、tokenizerが解析する前の文字列に対して処理を行います。名前が示す通り、正規表現を用いたパターンマッチを…
Solrには文字列解析の為の仕組みがたくさん用意されています。またそれらは柔軟に組み合わせやパラメータによるカスタマイズが可能で、色んな用途に対応できるようになっています。それらは個々のカスタマイズ可能なコンポーネントとして、下記のURLで説明さ…
スマートフォンでHTML5+Javascriptで音を鳴らす為に、ブラウザ間の対応状況を調べてみたのでメモとしてまとめておきます。各ブラウザで共通で音を鳴らす方法については、またの機会に書いてみようと思います。(enchant.jsのSound周りの実装も進んでるみたい…
たまたま#SolrJPのハッシュタグを見ていたら、exabugsさんのつぶやきを見つけて、Solrのソースを追いかけてみたりしました。折角良いネタを頂いたので、しっかりblogのネタにさせてもらいますwこの問題はSolr3.1からなのかどうかは調べていませんが、確かにh…
lucene-gosenとは lucene-gosenとは、全文検索エンジンのLucene/Solr3.1及び4.0で動作する、日本語の形態素解析用のJavaライブラリで、ここで公開されています。なお、ここで扱うlucene-gosenのバージョンは1.0.1とします。一般的に日本語を扱う場合には、英…