gpt4 book ai didi

elasticsearch - Elasticsearch方面查询

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

我想知道是否可以为这样的内容编写一个方面查询

我的文件结构

UserID, AnswerID[] (int array)
1 , [9,10,11,56,78,99]
2 , [10,11,56,78,99]
3 , [8,10,12,56, 79,99]
4 , [9,10,11,56,78,99]

如果我只想回答9,56个用户,那么我可以写一个查询。但是我有两个 list
List A - 9,10,11
ListB - 56,78,99

我想要两个列表的排列。

回答[9,56],[9,78],[9,99],[10,56],[10,78],[10,99],[11,56]的用户数

我该如何编写查询来实现类似的目的。

感谢您的帮助,

谢谢。

最佳答案

不使用列表时可以使用:

# Print ES Version
curl 'http://localhost:9200/'

# Delete the index `testindex`
curl -XDELETE 'http://localhost:9200/testindex'

# Create the index `testindex`
curl -XPUT 'http://localhost:9200/testindex' -d '{
"settings" : {
"index" : {
"number_of_shards" : 1,
"number_of_replicas" : 0
}
}
}'

# Wait for yellow
curl -XGET 'http://localhost:9200/_cluster/health?wait_for_status=yellow'

# Index docs
curl -XPUT http://localhost:9200/testindex/type/1 -d '{ "listA":"value1", "listB":"value2" }'
curl -XPUT http://localhost:9200/testindex/type/2 -d '{ "listA":"value1", "listB":"value3" }'
curl -XPUT http://localhost:9200/testindex/type/3 -d '{ "listA":"value1", "listB":"value2" }'

# Refresh docs
curl -XPOST 'http://localhost:9200/testindex/_refresh'

# TermFacet
curl -XPOST 'http://localhost:9200/testindex/type/_search?pretty' -d '
{
"query": { "match_all" : {} },
"facets" : {
"tag" : {
"terms" : {
"script_field" : "_source.listA + \" - \" + _source.listB"
}
}
}
}'

给出:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"hits" : {
"total" : 3,
"max_score" : 1.0,
"hits" : [ {
"_index" : "testindex",
"_type" : "type",
"_id" : "1",
"_score" : 1.0, "_source" : { "listA":"value1", "listB":"value2" }
}, {
"_index" : "testindex",
"_type" : "type",
"_id" : "2",
"_score" : 1.0, "_source" : { "listA":"value1", "listB":"value3" }
}, {
"_index" : "testindex",
"_type" : "type",
"_id" : "3",
"_score" : 1.0, "_source" : { "listA":"value1", "listB":"value2" }
} ]
},
"facets" : {
"tag" : {
"_type" : "terms",
"missing" : 0,
"total" : 0,
"other" : -3,
"terms" : [ {
"term" : "value1 - value2",
"count" : 2
}, {
"term" : "value1 - value3",
"count" : 1
} ]
}
}
}

但是我不知道何时使用列表...我很想知道是否可以做到...

关于elasticsearch - Elasticsearch方面查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15963088/

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