【发布时间】:2017-01-02 00:13:17
【问题描述】:
搜索部分短语会以奇怪的顺序返回结果, 比如给这两个文件
{
"@search.score": 0.5696786,
"Guid": "ce73ca06-f170-46df-b0ef-a6e6e72b76ce",
"FirstName": "Ruy",
"LastName": "Bssaf",
"Phone": "560523791699",
"CustomerId": "-1",
"CustomerEmail": "guy@twingocoil",
"MySuperpharm": "True"
},
{
"@search.score": 0.5619051,
"Guid": "090c623f-5993-458e-93cc-8ef3d885eb29",
"FirstName": "ruy",
"LastName": "reffen",
"Phone": "0522545833",
"CustomerId": "76016443160",
"CustomerEmail": "guy@geffenmedicalcom",
"MySuperpharm": "False"
},
搜索“guy@twingoco”将在第一个文档之前返回第二个文档,但显然人们希望首先看到第一个文档,其中“CustomerEmail”字段与短语术语几乎相同。
搜索是在门户内完成的,除了搜索词之外没有额外的参数。 搜索完整的电子邮件时,预期的结果会排在第一位。
请不要参考“电子邮件短语”的这种特定情况,我一般问的是如何使搜索也考虑到部分短语。
【问题讨论】:
-
您的搜索查询是什么,您是如何在 Azure 搜索中设置文档的?您是否将客户电子邮件标记为搜索字段?
-
我正在添加更多信息来回答您的问题
-
嗨,伙计,您看到的不是预期的。您能否分享您的确切搜索请求以及您在搜索分数中看到的响应(在您共享的示例中,顺序是正确的)。您可以使用分析 API (docs.microsoft.com/en-us/rest/api/searchservice/test-analyzer) 查看索引内容和搜索词是如何被标记化的。在您的情况下,电子邮件地址在索引和查询时都在 @ 符号处拆分,因此您的搜索查询变为:guy twingoco
标签: azure azure-cognitive-search