如何在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

回到顶部