gpt4 book ai didi

javascript - 如何在 Elasticsearch 中进行精确匹配?

转载 作者:行者123 更新时间:2023-12-05 04:31:09 25 4
gpt4 key购买 nike

我想找到完全匹配。如果没有匹配。我不想null

我正在搜索此 ID 6a8c283f-1e75-ec11-8943-000d3a15f525。它给了我这个输出

  • fcf0dd4e-abbc-ec11-983f-0022482588e9

但是这些它不匹配只有ec11匹配

我试过这个搜索查询

 result = await client.search({
index: 'products',
"query": {
"match": {
"sysid":sysid
}
}
})

最佳答案

问题是因为您的 sysid 字段是 text 类型,因此在索引时被分析并标记为 fcf0dd4e, abbcec118943000d3a15f525

此外,当使用匹配查询进行搜索时,搜索词也会被分析为以下标记 6a8c283f1e75ec118943000d3a15f525

如您所见,匹配成功是因为 ec11 匹配。

对于完全匹配,您需要做的是针对 keyword 字段运行查询。也许您很幸运,您的映射已经包含一个 sysid.keyword 子字段。如果不是,您需要更改您的映射并重新索引您的数据。

然后您将能够像这样运行您的 term 查询并获得完全匹配:

  "term": {
"sysid.keyword":sysid
}

关于javascript - 如何在 Elasticsearch 中进行精确匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71883804/

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