gpt4 book ai didi

elasticsearch - 来自 Elasticsearch 的虚假结果

转载 作者:行者123 更新时间:2023-12-03 02:03:51 25 4
gpt4 key购买 nike

我怀疑我不能(或者我只是还没有绝望到尝试!)提供足够的信息来给你足够的工作,但我只是希望有人能给我一个关于在哪里调查的想法。 ..

我有一个 Elasticsearch 索引,它在一个实时系统中并且工作正常。我在索引 (productId) 中的核心实体中添加了 3 个属性。我得到了正确的数据,但它时不时地在返回结果中包含虚假数据。

例如(我已经削减了字段列表,这是我的一个 multi_match 查询)。

使用 postman 我发送

{
"query" : {
"multi_match" : {
"query" : "FD41D359-1066-47C5-B930-C839F380FBDE",
"fields" : [ "softwareitem.productId" ]
}
}
}

我期待在这个例子中返回 1 个项目,而我得到 2 个。我对结果进行了一些修改,但关键是 productId。您可以在返回的第二个项目中看到它不是要搜索的产品 ID 吗?

任何人都可以告诉我下一步我应该在哪里看这个吗?我的查询有问题还是您认为索引可能以某种方式损坏?
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 27.424479,
"hits": [
{
"_index": "core_products",
"_type": "softwareitem",
"_id": "040EEEA1-4758-4F01-A55A-CAE710117C81",
"_score": 27.424479,
"_source": {
"id": "040EEEA1-4758-4F01-A55A-CAE710117C81",
"productId": "FD41D359-1066-47C5-B930-C839F380FBDE",
"softwareitem": {
"id": "040EEEA1-4758-4F01-A55A-CAE710117C81",
"title": "Code Library",
"description": "Blah Blah Blah",
"rmType": "Software",
"created": 1424445765000,
"updated": null
},
"searchable": true
}
},
{
"_index": "core_products",
"_type": "softwareitem",
"_id": "806B8F04-3E53-4278-BCC2-C2E1A17D2813",
"_score": 1.049637,
"_source": {
"id": "806B8F04-3E53-4278-BCC2-C2E1A17D2813",
"productId": "9FB80ABA-B09C-47C5-929A-9FB6C48BD5A8",
"softwareitem": {
"id": "806B8F04-3E53-4278-BCC2-C2E1A17D2813",
"title": "Video Game",
"description": "Blah Blah Blah",
"rmType": "Software",
"created": 1424445765000,
"updated": null
},
"searchable": true
}
}
]
}

}

最佳答案

看来softwareitem.productIdstring field它正在被分析。要对字符串字段进行精确匹配,请使用 not_analyzed映射中的字符串字段,例如:

"productId" : {
"type" : "string",
"index" : "not_analyzed"
}

可能你的领域已经 not_analyzed你必须做一个额外的改变。

在查询时您不需要使用 multi_match/ match询问。这些类型的查询将分析您的输入字符串查询并根据该输入构建更复杂的查询,因此您会看到第二个意外结果(它包含 47C5 ,可能分析器正在标记完整的字符串并构建查询只有一个 token 需要匹配)。您应该使用 terms/ term查询

关于elasticsearch - 来自 Elasticsearch 的虚假结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28796410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com