Есть ли какой-нибудь пример того, как сделать Post-анализ в lucene (версия 8)? - PullRequest
0 голосов
/ 09 мая 2019

Я использую Java и уже проанализировал свои документы с помощью standardAnalyzer .

Как мне связать слова, которые я получаю из textField с EnglishAnalyzer? (последующий анализ)

Например, если я набираю «Burger» или «Burgers» в textField, я хочу получить результаты, даже если «Burger» как термин вообще не индексируется, но «Burgers» - это.

Это пример поля, которое я проиндексировал с помощью standardAnalyzer

name=(String)jsonObject.get("name");
doc.add(new TextField("name",name,  Field.Store.YES));

Вот как я построил запрос

indexdirectory = FSDirectory.open(indexDir);
indexreader = DirectoryReader.open(indexdirectory);

analyzer = new StandardAnalyzer();
indexsearcher = new IndexSearcher(indexreader);

QueryParser nameParser = new QueryParser("name", analyzer);
nameQuery = nameParser.parse(textField.getText().toLowerCase());

TopDocs topdocs = null;
topdocs = indexsearcher.search(nameQuery, 50);

1 Ответ

0 голосов
/ 10 мая 2019

Я заработал, проанализировав мои документы с помощью EnglishAnalyzer в процессе индексации (предварительный анализ). Другими словами вы должны использовать EnglishAnalyzer при индексации документов и при создании запросов .

...