*****実行結果は、queries[0]の"カツオ"を検索したときにcontents[]のドキュメントのうち6件がヒットし、その内容を表示している。以下、queries[1]の検索結果の表示、queries[2]の検索結果の表示、・・・と続く。}}プログラムのメインストリーム(main()の中)は、最初にmakeIndex()を呼んでインデックスを作成し、次にqueries[]の大きさだけforループをまわしてqueries[]要素を引数にしてsearchIndex()を呼んで検索を実行している。makeIndex()では、IndexWriterのインスタンスを作成し、addDocument()でDocumentをインデックスに登録している。Documentはcontents[]の要素である。);ここで、FIELD_CONTENTはフィールド名、contents[i]はフィールドの文字列である。Field.Store.YESはフィールドの文字列をインデックスに登録することを示し、Field.Index.TOKENIZEDはフィールド文字列をアナライザーで分析しながら単語を索引付けすることを示している。searchIndex()では、IndexSearcherインスタンスを作成し、search()メソッドで全文検索を実行している。検索結果はHitsオブジェクトで返るので、ヒット件数(hits.length())とその内容を表示している。比較のポイント商用検索エンジンを購入した企業担当者は読まないでください。McCandlessFastVectorHighlighterについて解説記事を寄稿しました。