を使用して、2つの用語を検索私は自分のプロジェクトに次のコードを書かれている:トラブルluceneの
final IndexSearcher indexSearcher = new IndexSearcher(INDEXING_DIRECTORY, true);
final Query query = new QueryParser(Version.LUCENE_33, "keywords", new StandardAnalyzer(Version.LUCENE_33)).parse("cats movies");
final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
indexSearcher.search(query, collector);
final ScoreDoc[] hits = collector.topDocs(0, 10).scoreDocs;
タスクは非常に簡単です。
たとえば、索引付けされた「キーワード」フィールドを持つレコードが格納されています。たとえば、キーワードは「おもしろい猫の映画のトン」と似ているかもしれません。
問題は、検索クエリが「面白い猫」(索引付けされたフィールドのような語順)であればレコードを返しますが、「猫の映画」では失敗します。どのようにして質問を書くべきなので、どんな言葉の順番にも一致するでしょうし、同様の単語を検索することも可能でしょうか?
タイトルにご質問ください。 – Zeemee
なぜすべてのdownvotes?正当な質問ですか? – snowflakekiller
「フレーズ」という単語を「2つの単語」に置き換えました。フレーズは、オペレーションが検索したいことではありません。 – fyr