Lucene

前方一致検索

実際に試してはいないのですが、Solrで(語句ではなく)フィールド自体を前方一致で検索する方法を調べました。イメージとしてはSQLで、"field1 LIKE '東京%'"とするような。↓では次の3案が提案されていました。 Nabble - Lucene - Java Users - "Starts wi…

数値での範囲検索

integerやfloatなどの数値のフィールドで範囲検索([1 TO 100]みたいなの)を行うためには、schema.xmlにてそのフィールドのfieldType を"sint"や"sfloat"にしておく必要があります。

すべてのfieldを対象とした検索

schemaでfieldを複数定義した場合、すべてのフィールドをまとめて検索したいということがあると思います。フィールドの数が少なく単純なクエリであれば、 field1:キーワード OR field2:キーワード ... でもよいと思いますが、フィールドが多いと面倒です。ML…

fieldが空でないdocumentを検索する

SQLの"IS NULL"や"IS NOT NULL"のように、特定のfiledが空ではない(or 空である)documentを検索する方法。 すべてのドキュメントをヒットさせる場合には、"*:*"だったので"title:*"とか"NOT title:*"とできるかと思ったのですが、Range Searchesを使います…

SolrのDataImportHandlerが便利

既存アプリに全文検索を追加するのに(あるにはあるが、LIKE検索なので使い物にならない..)、当初SQL Serverのフルテキスト検索にしようかと考えていたのですが、できればオープンソースのソフトウェアの方がよいので、Luceneベースの全文検索システムであ…