Мы пытаемся использовать Когнитивный поиск Azure, чтобы включить полнотекстовый поиск документов, хранящихся в хранилище BLOB-объектов Azure. Одна из функций, которые нам нужны, - это показать основные моменты для конкретного документа.
Мы заметили, что хотя поиск точной фразы правильно соответствует только тем документам, которые содержат эту точную фразу, выделение возвращается для отдельных слов во фразе, а не для всей фразы.
Пример
При поиске по фразе «договор на поставку» выделяются слова «поставка» и «договор».
Запрос:
{
"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"
},
...
]
}
Это известная проблема текущей версии API когнитивного поиска Azure?