gpt4 book ai didi

elasticsearch - Elasticsearch TermsFacet计数错误

转载 作者:行者123 更新时间:2023-12-02 23:41:32 24 4
gpt4 key购买 nike

我在Elasticsearch Term Facet上遇到问题

我把数据如下:

curl -X DELETE "http://localhost:9200/articles'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "One", "tags" : "foo","datetime":"2005-12-23 23:10:52"}'


curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "Two", "tags" : "bar","datetime":"2005-12-23 23:10:53"}'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "Three", "tags" : "baz","datetime":"2005-12-23 23:10:54"}'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "four", "tags" : "baz","datetime":"2005-12-23 23:10:55"}'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "five", "tags" : "foo","datetime":"2005-12-23 23:10:56"}'

所以每当我查询术语方面时,它都会给出正确的结果,这是我的Elasticsearch查询:
curl  'http://localhost:9200/articles/article/_search?pretty=true' -d '{

"query": {
"match_all": {}
},
"facets" : { "myfacet" : { "terms" : {"field" : "tags"}}
}
}'

但是,当我向Facet添加过滤器时,它不会显示以下查询中的任何构面计数:
curl  'http://localhost:9200/articles/article/_search?pretty=true' -d '{

"query": {
"match_all": {}
},
"facets" : {
"myfacet" : { "terms" : {"field" : "tags"},
"filter" : { "range" :{
"datetime" : {"from" : "2005-12-23 3:10:52","to" : "2005-12-23 23:10:56" }

}
}
}
}
}'

我得到如下结果
facets" : {
"myfacet" : {
"_type" : "filter",
"count" : 0
}
}

因此,任何人都知道为什么它会给予这种重视。

最佳答案

日期格式无效,请查看一下Elasticsearch支持的受支持的日期时间格式(太长,请勿读取,ejoytime支持的任何日期都由Elasticsearch支持)。

http://www.elasticsearch.org/guide/reference/mapping/date-format.html

话虽如此,您只需要在insert语句中修改日期并将其设置为有效的日期格式即可,例如 2005-12-23T23:10:55Z。然后,只需将查询更改为该时间格式的适当时间范围,即可获得结果。

编写这些查询时也要小心,因为我注意到您在from子句中使用的日期无效。

这是修改后的curl脚本:
curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "One",   "tags" : "foo","datetime":"2005-12-23T23:10:52Z"}'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "Two", "tags" : "bar","datetime":"2005-12-23T23:10:53Z"}'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "Three", "tags" : "baz","datetime":"2005-12-23T23:10:54Z"}'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "four", "tags" : "baz","datetime":"2005-12-23T23:10:55Z"}'

curl -X POST "http://localhost:9200/articles/article" -d '{"title" : "five", "tags" : "foo","datetime":"2005-12-23T23:10:56Z"}'

和修改后的搜索:
 curl  'http://localhost:9200/articles/article/_search?pretty=true' -d '{

"query": {
"match_all": {}
},
"facets" : {
"myfacet" : {
"terms" : {"field" : "tags"},
"filter" : { "range" :{
"datetime" : {
"from" : "2005-12-23T23:10:52Z",
"to" : "2005-12-23T23:10:54Z"
}
}
}
}
}
}'

希望这可以帮助,
马特

关于elasticsearch - Elasticsearch TermsFacet计数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14493965/

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