gpt4 book ai didi

elasticsearch - 如何在 elasticsearch 中提升索引类型?

转载 作者:行者123 更新时间:2023-12-04 07:38:36 25 4
gpt4 key购买 nike

我以前是这样搜索的:curl -XGET localhost:9200/users/_search

但 users 包含用户 a、b、c,如下所示:curl -XGET localhost:9200/users/a,b,c/_search

users 是第一个索引,a/b/c 是类型。

如何在此查询中提升类型a?最好有示例代码,谢谢。

最佳答案

您可以使用术语查询来提升索引类型。

首先创建一些测试数据(e1,e2,e3 是类型,test 是索引名称):

PUT test/e1/1
{
"subject": "subject 1"
}
PUT test/e2/1
{
"subject": "subject 1"
}
PUT test/e3/1
{
"subject": "subject 1"
}

现在使用按类型自定义提升的术语查询:

GET test/_search
{
"query": {
"bool": {
"should": [
{
"query_string": {
"query": "subject"
}
},
{ "term" : { "_type" : {"value" : "e3", "boost" : 2.0} } },
{ "term" : { "_type" : {"value" : "e2", "boost" : 3.0} } }
]
}
}
}

这将生成如下结果:

{
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 0.7671045,
"hits": [
{
"_index": "test",
"_type": "e2",
"_id": "1",
"_score": 0.7671045,
"_source": {
"subject": "subject 1"
}
},
{
"_index": "test",
"_type": "e3",
"_id": "1",
"_score": 0.59740055,
"_source": {
"subject": "subject 1"
}
},
{
"_index": "test",
"_type": "e1",
"_id": "1",
"_score": 0.1289963,
"_source": {
"subject": "subject 1"
}
}
]
}
}

关于elasticsearch - 如何在 elasticsearch 中提升索引类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29861330/

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