如何在Elasticsearch中增加索引类型?
我曾经这样搜索: curl -XGET localhost:9200/users/_search
但用户包含这样的用户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中增加索引类型? 的全部内容, 来源链接: utcz.com/qa/427594.html