Мы пытаемся использовать Azure Cognitive Search, чтобы включить полнотекстовый поиск документов, хранящихся в Azure Blob Storage. Одна из функций, которая нам нужна, - это отображение основных моментов для определенного документа.
Мы заметили, что хотя поиск точной фразы правильно соответствует только тем документам, которые содержат эту точную фразу, основные моменты возвращается для отдельных слов в фразе, а не для полной фразы.
Пример
Для поиска по фразе "соглашение о поставке" мы выделяем слова "поставка" и "соглашение".
Запрос:
{
"search": "\"supply agreement\"",
"select": "metadata_storage_name,metadata_storage_path,language",
"searchFields": "merged_content",
"highlight": "merged_content"
}
Ответ:
{
"@odata.context": "https://....search.windows.net/indexes('...')/$metadata#docs(*)",
"value": [
{
"@search.score": 0.047654618,
"@search.highlights": {
"merged_content": [
"Customer has agreed to engage Supplier to <em>supply</em> the Products and Supplier has agreed to accept the engagement on the terms set out in this <em>Agreement</em>.",
"<em>Agreement</em>\n1.",
"Tax means goods and services, value added or similar consumption based tax applicable to the <em>supply</em> of the Products under this <em>agreement</em>.",
...
]
},
"metadata_storage_name": "a2b23e30-c1e0-4c52-a659-d8705662d699.docx",
"metadata_storage_path": "...",
"language": "en"
},
...
]
}
Является ли это известной проблемой текущей версии Azure Cognitive Search API?