ElasticSearch39:初识搜索引擎_上机动手实战多搜索条件组合查询
2018-01-04 11:38
726 查看
1.组合查询query
bool
在bool中可以放must,must_not,should,filter
例子:
执行结果:
2.我们来看一下执行结果中的_score是如何计算出来的?
每个子查询都会计算一个document针对它的相关度分数,然后bool综合所有分数,合并为一个分数,当然filter是不会计算分数的。
也可以只需要使用filter,但是必须加上constant_score,否则会报语法错误
执行结果:
bool
在bool中可以放must,must_not,should,filter
例子:
GET /website/article/_search { "query": { "bool": { "must": [ {"match": { "title": "elasticsearch" }} ], "should": [ {"match": { "title": "good" }} ], "must_not": [ {"match": { "content": "bad" }} ], "filter": { "range": { "author_id": { "gte": 100 } } } } } }
执行结果:
{ "took": 11, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 1, "max_score": 0.25316024, "hits": [ { "_index": "website", "_type": "article", "_id": "1", "_score": 0.25316024, "_source": { "title": "my elasticsearch article1", "content": "elasticsearch is good", "author_id": 10010 } } ] } }
2.我们来看一下执行结果中的_score是如何计算出来的?
每个子查询都会计算一个document针对它的相关度分数,然后bool综合所有分数,合并为一个分数,当然filter是不会计算分数的。
也可以只需要使用filter,但是必须加上constant_score,否则会报语法错误
GET /company/employee/_search { "query": { "constant_score": { "filter": { "range": { "age": { "gte": 30 } } } } } }
执行结果:
{ "took": 83, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 1, "max_score": 1, "hits": [ { "_index": "company", "_type": "employee", "_id": "1", "_score": 1, "_source": { "address": { "province": "zhejiang", "city": "wenzhou", "country": "china" }, "name": "tom", "age": 31, "join_date": "2015-01-02" } } ] } }
相关文章推荐
- ElasticSearch38:初识搜索引擎_上机动手实战常用的各种query搜索语法
- ElasticSearch48:初识搜索引擎_上机动手实战基于scroll技术滚动搜索大量数据
- ElasticSearch40:初识搜索引擎_上机动手实战如何定位不合法的搜索以及其原因
- ElasticSearch36:初识搜索引擎_快速上机动手实战Query DSL搜索语法
- ElasticSearch41:初识搜索引擎_上机动手实战如何定制搜索结果的排序规则
- elasticsearch核心知识--42.多搜索条件组合查询,sort以及explain的用法
- ElasticSearch47:初识搜索引擎_搜索相关参数梳理以及bouncing results问题解决方法
- Elasticsearch判断多列存在、bool条件组合查询示例
- 第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询
- Linq to SQL 多条件动态组合查询(实战篇)
- Elasticsearch进行and,or多条件组合DSL结构化查询
- 利用Lucene.net搜索引擎进行多条件搜索的做法
- Struts2 多条件组合查询和准备默认数据
- 【SSH项目实战】国税协同平台-24.条件查询分析与实现
- hibernate 多条件组合查询 之 sql 拼接
- OpenJweb平台中自定义组合查询条件窗口的实现方式(经典之作)
- Spring Data JPA 复杂/多条件组合查询
- Spring Data JPA 复杂/多条件组合分页查询
- ElasticsearchCRUD使用(十四)【ElasticsearchCRUD搜索查询和过滤】
- ThinkPHP 分页中带入查询(搜索)条件