Luceneを使用して検索機能を追加しようとしていますが、重要な空白を扱うインデックスを取得できないようです。私はLuceneの6.6.0を使用して、私はKeywordAnalyzer
を理解して何からだ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);
私が探しているものです:私は、次のテスト・ケースのセットアップを持っている
「トークン化」ストリーム全体を単一のトークンとしてこれは、郵便番号、ids、および一部の製品名などのデータに役立ちます。
しかし、私は空白を含む一致するドキュメントを取得できないようです。
これを解決する方法はありますか?長期的な値で検索するQueryParser
試行によって生成あなたが検索しようとしているときBill Evans
、TermQuery
- -