我正在嘗試使用Lucene添加搜索功能,但似乎無法獲得與重要空白一起使用的索引。我有以下測試案例設置:使用Lucene搜索帶空白的條件
RAMDirectory directory = new RAMDirectory();
KeywordAnalyzer analyzer = new KeywordAnalyzer();
IndexWriterConfig config = new IndexWriterConfig(analyzer);
IndexWriter writer = new IndexWriter(directory, config);
Document doc = new Document();
doc.add(new TextField("content", "Bill Evans", Field.Store.NO));
writer.addDocument(doc);
writer.close();
IndexReader reader = DirectoryReader.open(directory);
IndexSearcher searcher = new IndexSearcher(reader);
QueryParser parser = new QueryParser("content", analyzer);
parser.setSplitOnWhitespace(false);
Query query = parser.parse("Bill E");
TopDocs docs = searcher.search(query, 1);
assertTrue(docs.totalHits > 0);
我使用Lucene 6.6.0和從我瞭解的KeywordAnalyzer
就是我在尋找:
「標記化」的整個流作爲單個令牌。這對於郵政編碼,ID和某些產品名稱等數據非常有用。
但我似乎無法得到任何包含空白的匹配文件。
有關如何解決此問題的任何想法?