Lucene8:フィールドタイプを変更したらインデックスの再作成が必要
以下のようなエラーが発生した。
Exception in thread "main" java.lang.IllegalArgumentException: cannot change field "fieldName" fro ...Lucene8:Facetの使い方サンプル、その2
int, longの場合はfacet用ディレクトリは不要のようだ。そして、intもlongもlongとして扱われるらしい(そもそもlongしか無い?)。
import static java.util.stream.C ...
Lucene8:Facetの使い方サンプル
Lucene 4 Cookbookの例をアレンジしてみた。
import org.apache.lucene.analysis.standard.*;import org.apache.lucene.document. ...
Lucene8:Query Time Joining~JoinUtil
クエリ時にJOINを行う例
Luceneでクエリ時にJOINを行う例である。ネット上にある他の例とは異なり、この例では、JOINする両方のテーブル(RDBの用語を使用した方がわかりやすいのでこちらにする)について、検索条件を指定すること ...
Lucene8:TokenStreamの仕組み
ここでは特にLucene 8.2.0の場合について書いているが、この部分はほぼすべてのバージョンに共通することことと思う。
Tokenizer、TokenFilterはTokenStreamLuceneは元のテキストをトー ...
Lucene8:検索ヒット時に元文書該当箇所をハイライトする
というものを作成した。
特に検索時に行う必要はない。このユースケースとしては以下だ。
ユーザが検索するヒットしたいくつかが一覧される
ユーザはそのうちの一つを選択する
この時に初めて元文書をヒット ...
Lucene8:Tokenizerの選択が元文書のオフセット位置取得を左右する
ここで取り上げるのはLucene 8.2.0だ。
さんざんLuceneを使ってきて、今回初めてHighlighterの機能を試そうとしてうまく行かず、重要な事実に初めて気がついた。全く知らなかったのだが、表題の通りだ。
Lucene8:検索ヒット時に元文書のオフセット位置を取得する
LuceneのAPIはバージョンごとにコロコロと仕様が変わるので、検索してやり方を見つけても全く役に立たない場合がある。今回悩んだのは、検索がヒットした時に元文書のどの位置かを見出すことだ。本当に資料となるものが無い。諦めようかと思っ ...