#azure-cognitive-search
#azure-когнитивный поиск
Вопрос:
Моя команда немного смущена выделениями поиска, появляющимися в результатах поиска Azure при выборе highlight=fieldX
.
При поиске фразы с простым синтаксисом с использованием двойных кавычек в параметре поиска, при просмотре результатов, выходящих из search.highlights
раздела, некоторые считают, что выполняется поиск не всей фразы, а вместо этого появляются результаты, которые содержат некоторые, если не все токены во фразе.
Например: search="quick brown"amp;highlight=content
может привести к
{"@odata.context": "https://az-srch-example.search.windows.net/indexes('example')/$metadata#docs(*)",
"value": [
{
"@search.score": 0.683709,
"@search.highlights": {
"content": [
"The <em>quick</em> <em>brown</em> fox jumped over the lazy dog."
]
},
"id": "abcexample123"
}
]}
Предполагается, что мы можем получать результаты, которые ищут «быстрый» и «коричневый» независимо.
Существует ли какой-либо синтаксис для объединения результатов поиска, когда результаты поиска являются смежными или представляют собой фразу?
Спасибо за любые рекомендации!
Ответ №1:
Существует ли какой-либо синтаксис для объединения результатов поиска, когда результаты поиска являются смежными или представляют собой фразу?
Короче говоря, нет.
В Azure Search мы используем выделение проводок Lucene. Выделение происходит после идентификации соответствующих документов. Итак, индикатор выделения записей сопоставляет каждый документ, разбивает его на предложения и ищет предложения, которые лучше всего соответствуют условиям запроса (игнорируя позиции терминов), поэтому вы видите, что все термины фразы выделены независимо.
К сожалению, на данный момент нет способа настроить это поведение. Вы можете проголосовать за этот отзыв, чтобы продвинуть функцию, которая должна быть достигнута.
Комментарии:
1. Ответ Джоуи точен. Я хотел бы подчеркнуть тот факт, что на этапе запроса сопоставляются только документы, имеющие указанную фразу. Только на этапе выделения после запроса выполняется поиск терминов для выделения предложений в документе. Другими словами, даже если каждый термин выделяется независимо, не должно быть случая, когда выделяются только некоторые термины из исходной фразы, оставляя другие.
2. Ах! Большое вам спасибо за руководство по этому вопросу. Итак, это ожидаемое поведение, и он все еще ищет фразу, но из-за того, что способ документирования разделен, он выделяет каждый токен отдельно. Понял. Спасибо!