Я хочу индексировать «составное слово», такое как «Нью-Йорк», как единственный термин в Lucene, а не как «новый», «йорк». Таким образом, если кто-то ищет «новое место», документы, содержащие «Нью-Йорк», не будут совпадать.
Я думаю, что это не так для N-граммов (на самом деле NGramTokenizer), потому что я не буду индексировать только любой n-грамм, я хочу индексировать только некоторые конкретные n-граммы.
Я провел некоторые исследования и знаю, что должен написать свой собственный анализатор и, возможно, свой собственный токенизатор. Но я немного растерялся, расширяя TokenStream / TokenFilter / Tokenizer.
Спасибо