Я пытаюсь найти частичные начальные совпадения в большом списке фамилий. Итак, Вайн * должен найти Вайнберга, Вайнкамма и т. Д.
Я мог бы сделать это, создав специальное поле и добавив
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="50" preserveOriginal="1"/>
к его спецификации типа в schema.xml. Когда я добавляю приведенную выше строку только в анализатор индексации и оставляю ее пустой для анализатора запросов, я могу искать, просто выполняя поиск special_field: Wein, и получаю ожидаемые результаты.
Теперь я вижу, что у solr также есть * -синтаксис. Какая связь между EdgeNGramFilterFactory и * -syntax?
Правильно ли я все делаю или есть лучший, более регулярный способ?
Спасибо!