Мне нужна помощь по разметке поля на несколько входов в C#, где ввод находится на юго-восточном языке (тайском).
Таким образом, я могу вставить список строк этих слов во вход предложения и создать правильное завершение. Я не уверен, смогу ли я использовать Nest или мне придется комбинировать свое решение с icu.net или Lucene.Net.ICU
Заранее спасибо





Подключаемый модуль Elasticsearch ICU Analysis интегрирует модуль Lucene ICU в Elasticsearch. Вы можете настроить сопоставление полей для использования настраиваемого анализатора, настроенного с помощью icu_tokenizer, и других конфигураций для конкретных вариантов использования, которые вам требуются.
Если вам требуются возможности, выходящие за рамки поддерживаемых интеграций, вам, возможно, придется взглянуть на пакеты и подходы NLP, как предложил Вурд в комментариях.
Это позволит мне преобразовать одно поле, скажем, имя в список предложений на лету?
Я не уверен на 100%, о чем вы спрашиваете. Что вы имеете в виду под предложениями? Нравится предложения автозаполнения? Если да, то это действительно зависит от ожиданий автозаполнения, например. завершение префикса, завершение любого термина в тексте и т. д. Но да, поле text или completion можно использовать для предложений с разным уровнем сложности предложения
да, я имею в виду автозаполнение, и я знаю, как его настроить. Но я застрял при попытке преобразовать feild (например, Name) в список массивов с помощью icu_tokenizer
Зачем нужно преобразовывать поле в список массивов?
чтобы автозаполнение корректно работало с азиатским языком. Я много тестировал, и автоматическое предложение не будет работать, если оно не токенизирует слова должным образом. А на тайском языке нет пробела для токенизации.
Вы пробовали создать собственный анализатор, который использует компоненты анализа из плагина ICU Analysis, и подключить его как анализатор для автозаполнения?
Я сделал это, но проблема в том, что если человек начинает печатать со вторым словом вместо начала префикса, его не найти. Это одно из требований. Но если я нарежу слово и сделаю его списком предложений, тогда все в порядке :)
Похоже, что подсказка завершения может быть не лучшим подходом в этом случае, и что поиск по полю text может быть лучше. Если анализ вне подхода к индексации работает для вас, продолжайте :)
спасибо, так и думал. Не знаю, что окажется быстрее? Если у нас есть текущая работа по индексации ... будет ли автозаполнение быстрее? Еще раз спасибо! : D
Я бы посоветовал изучить пакет NLP [обработка естественного языка]. Я использую Стэнфордское НЛП, оно может токенизировать и делать многое другое.