gpt4 book ai didi

java - 为什么elasticsearch中的以下查询不起作用?

转载 作者:行者123 更新时间:2023-12-01 23:25:35 25 4
gpt4 key购买 nike

我的测试数据如下所示。

{
"SequenceLocation":{
"Assembly":"GPR7",
"Chr": "10",
"start": 1111
}
}

每当我触发如下查询时,它都会返回正确的值。

{
"query" : {
"bool" : {
"must" : [
{
"term" : {
"SequenceLocation.Chr": "10"
}
}
]
}
}
}

但是当我将查询更改为

{
"query" : {
"bool" : {
"must" : [
{
"term" : {
"SequenceLocation.Assembly": "GPR7"
}
}
]
}
}
}

它不会从 Elasticsearch 返回任何点击。你能解释一下我做错了什么吗?

最佳答案

我认为您的 SequenceLocation.Assembly 映射错误。默认分析器将 GPR7.p10 拆分为两个标记 gpr7p10

根据文档term query不会分析您的查询,因此您向 elasticsearch 请求 GPR7.p10,但它被索引为标记 gpr7p10。所以无法匹配。

您应该使用 mapping 重新创建索引将 SequenceLocation.Assembly 字段设置为 "index": "not_analyzed"

关于java - 为什么elasticsearch中的以下查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20046932/

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