Поиск по шаблону начинается с Azure, поиск не работает должным образом - PullRequest
0 голосов
/ 22 января 2020

Поиск с использованием символов подстановки в синтаксисе запроса LUNCEEN, к слову добавляется суффикс с *. Мне нужно для startwith, например, например: search: "associate *" должен дать мне

[{
    "field1": "Associated for"
}, {
    "field1": "Associates for"
}, {
    "field1": "Associates word"
}]

, но он возвращает

[{
    "field1": "you Associated for"
}, {
    "field1": "Associates for"
}, {
    "field1": "word Associates with"
}]

Может ли кто-нибудь помочь мне найти решение для этого.

eg2: "search": "word associate *"

Ожидаемый результат

[{
    "field1": "word Associated"
}, {
    "field1": "word Associated are"
}, {
    "field1": "word Associates with"
}]

если я использую анализатор ключевых слов, он дает мне ожидаемый результат для eg1, но, например, для: ("search": "associates for *") поиск дал мне

[{
    "field1": "forest are located"
}, {
    "field1": "fort are build with"
}, {
    "field1": "fore are"
}]

ожидаемый результат

[{
    "field1": "Associates for"
}, {
    "field1": "Associates for abc"
}, {
    "field1": "Associates for xyz"
}]

1 Ответ

1 голос
/ 22 января 2020

Результат (хотя и не тот, который вам нужен) правильный. Вы ищете документы, в которых "field1" содержит ассоциативную связь *

, поэтому

"field1":"you Associated for" и "field1":"word Associates with" являются правильными.

Хорошее объяснение можно найти здесь { ссылка }

Чтобы создать то, что вы хотите, вам нужно использовать анализатор ключевых слов, чтобы все значение field1 было токенизировано в один токен.

https://docs.microsoft.com/en-us/azure/search/index-add-custom-analyzers

В качестве другого варианта вы пытаетесь использовать регулярные выражения, но я боюсь, что это может быть дорого в зависимости от количества документов, которые у вас есть в индексе .

https://docs.microsoft.com/en-us/azure/search/query-lucene-syntax?redirectedfrom=MSDN#bkmk_regex

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...