gpt4 book ai didi

elasticsearch - [created_utc]之后,Elasticsearch [匹配]未知 token [START_OBJECT]

转载 作者:行者123 更新时间:2023-12-02 23:18:53 26 4
gpt4 key购买 nike

我正在学习如何使用pushshift.io的2006年reddit注释数据集使用Elasticsearch。

created_utc是创建注释的时间的字段。

我正在尝试在特定时间范围内获取所有帖子。我在Google上搜索了一下,发现我需要使用“range”关键字。

这是我现在的查询:

{
"query": {
"match" : {
"range": {
"created_utc": {
"gte": "1/1/2006",
"lte": "31/1/2006",
"format": "dd/MM/yyyy"
}
}
}
}
}

然后,我尝试使用 bool(boolean) 查询,以便我可以将时间范围与已编辑的内容一定不能为False(已编辑的 bool(boolean) 值字段告诉我帖子是否已被编辑):
{
"query": {
"bool" : {
"must" : {
"range" : {
"created_utc": {
"gte" : "01/12/2006", "lte": "31/12/2006", "format": "dd/MM/yyyy"
}
}
},
"must_not": {
"edited": False
}
}
}
}

但是,这给了我一个我不知道的错误:

[编辑]查询格式错误,查询名称后没有start_object

如果有人可以帮助我,我将不胜感激,谢谢!

如果有帮助,这是我的评论映射:
{
"comment":{
"properties":{
"author":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
},
"body":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
},
"controversiality":{
"type":"long"
},
"created_utc":{
"type":"date"
},
"edited":{
"type":"boolean"
},
"gilded":{
"type":"long"
},
"id":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
},
"link_id":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
},
"parent_id":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
},
"score":{
"type":"long"
},
"subreddit":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}
}
}
}
}

最佳答案

如果要获取某个时间范围内的所有帖子,则必须使用范围查询。查询的问题是您在 flex 查询中不允许的匹配查询中使用range,因此查询应类似于:

{
"query": {
"range": {
"created_utc": {
"gte": 1136074029,
"lte": 1136076410
}
}
}
}

提供 created_utc 字段已保存为纪元的事实,您必须使用纪元格式进行查询。

您想在 编辑的不能为false的范围内查找帖子的第二个查询:
{
"query": {
"bool": {
"must": [
{
"range": {
"created_utc": {
"gte": 1136074029,
"lte": 1136076410
}
}
}
],
"must_not": [
{
"match": {
"edited": false
}
}
]
}
}
}

注意:如果您的 created_utc dd / MM / yyyy 格式存储,则在查询时应使用 strict companion format,即,而不是1/1/2006,您应该输入01/01/2006。

希望这可以帮助 !

关于elasticsearch - [created_utc]之后,Elasticsearch [匹配]未知 token [START_OBJECT],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51738221/

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