我已經在我的項目寫了下面的代碼搜索兩個術語:故障使用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
在問題中用「兩個術語」替換「短語」一詞。短語不是運動員想要搜索的東西。 – fyr