Используя 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.

Другие вопросы по тегам