gpt4 book ai didi

elasticsearch - 可以在Elasticsearch查询中从另一个索引中过滤一个索引的记录吗?

转载 作者:行者123 更新时间:2023-12-03 02:34:33 26 4
gpt4 key购买 nike

可以说我在index1中有100条记录,在index2中有10条记录。我想要这样:

select * from index1 where id not in (select id from index2)

我们可以在Elasticsearch中使用相同的上述查询吗,或者甚至可能。

我已经尝试了多索引搜索并且正在运行,但是我对筛选器部分一无所知。我正在使用elasticsearch-7.3.0

请提出建议!

下面的查询我试过了:
GET index1/_search
{
"query": {
"bool": {
"must_not": [
{
"terms": {
"id.keyword": {
"index" : "index2",
"id" : "_all",
"path" : "id"
}
}
}
]
}

}
}

最佳答案

ES 不支持子查询。您可以使用两个查询来获得结果。

查询1:索引2 中获取所有id值

    POST index2/_search
{
"_source": [
"id"
]
}

查询2:以!=条件来获取 索引1 中的所有记录
POST index1/_search
{
"query": {

"bool": {

"must_not": [
{
"terms": {
"id": [
"val1",
"val2"
]
}

}
]

}
}
}

关于elasticsearch - 可以在Elasticsearch查询中从另一个索引中过滤一个索引的记录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59156220/

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