Azure поиск: подстановочные запросы не работают с японскими / китайскими иероглифами - PullRequest
0 голосов
/ 15 апреля 2020

Я использовал icu_tokenizer, используя собственный анализатор, чтобы создать поисковый индекс для японских слов. Индекс был успешно создан. Используя icu_tokenizer, как и для азиатских языков, он работает лучше, чем поисковый токенизатор по умолчанию azure.

Теперь, когда я использую запрос для строки Ex: - 赤城, я вижу несколько результатов поиска (всего 131) из индекса. Но когда я использую поиск по шаблону с тем же словом , например: 赤城 * (добавление * в конце слова) или / 赤城. * / (С использованием поискового запроса регулярного выражения), я вижу 0 результатов поиска , Странная часть в том, что *, кажется, работает с одним японским символом 赤 * дает мне то же количество результатов поиска, что и 赤. Но как только я увеличиваю количество японских символов с 1, подстановочные запросы с * перестают работать и возвращают 0 результатов поиска. Все эти запросы, которые я тестирую в обозревателе поиска на портале Azure с использованием querytype = full (запрос синтаксиса lucene)

В моем приложении поисковые термины обычно используются как префиксный поиск, поэтому обычно мы добавляем * в конце строки поиска, чтобы получить результаты поиска, но выглядит так, как будто эти символы подстановки Lucene с символами японского языка просто не работают. Любая идея, как я могу заставить эти запросы префикса (используя подстановочный знак * в конце строки поиска) работать, когда строки поиска даны в японских символах?

Любая быстрая помощь будет высоко ценится!

1 Ответ

0 голосов
/ 28 апреля 2020

извините за поздний ответ. Вы пытались использовать один из анализаторов японского языка? Например, ja.microsoft

Кроме того, если вы хотите использовать поиск по префиксу, вы можете попробовать поэкспериментировать с функцией подсказки , которая предназначена для этой цели. сценарий.

...