Используя Nest, как имитировать поле _all, содержащее токены ngram?
Я считаю, что для поля _all невозможно содержать токены ngram. Как я могу имитировать это поведение?
У меня есть 7 типов объектов, в каждом из которых около 10 полей. Из этих 70 полных полей около 15 должны поддерживать частичный поиск (с использованием анализатора индекса ngram). Все поля будут использовать один и тот же анализатор поиска.
Copy_to поддерживается в Nest? Я этого не вижу Если да, могут ли разные поля иметь разные анализаторы?
Мое мышление до сих пор: если copy_to поддерживается, все поля, которые я хочу найти, будут скопированы в одно поле, по одному на тип, называемое "агрегат". Поисковый запрос будет указывать поиск в нескольких полях, который включает каждое из этих полей агрегирования.
1 ответ
_all
поле может содержать токены nGram. У вас есть возможность определить поисковый и индексный анализаторы для _all
поле. Пожалуйста, смотрите мой предыдущий вопрос Установка анализаторов для _all поля с помощью NEST. Однако вам нужно будет получить исходный код для NEST и скомпилировать его, чтобы получить эту функциональность, поскольку его нет в выпуске NEST 1.0.0-бета1 на NuGet.