我们可以通过制定路由,而避免ES自己进行大量的广播操作。直接按照我们制定的路由找到对应的分片查询,关于路由机制,我们不做赘述,只是了解下就行。
具体请参考:https://blog.csdn.net/cnweike/article/details/38531997
12、term和trems:这两个是精准查找,一个是单数,一次查找单个值。一个是复数,一次查找多个值。
例如:"terms" : { "price" : [20, 30] }
13、先看个语句:GET _search { "query": { "filtered": { "query": { "match": { "text": "quick brown fox" } }, "filter": { "term": { "status": "published" } } } } }
(1) 这里的"filtered": 从ES5.0之后被移除了。
(2) filter代表过滤匹配,也是为了过滤status字段,让它不去计算的分数,不用计算权重等。
新的语句为:
GET _search { "query": { "bool": { "must": { "match": { "text": "quick brown fox" } }, "filter": { "term": { "status": "published" } } } } }
(3) bool代表的是bool查询,参数主要有:
must 所有的语句都 必须(must) 匹配,与 AND 等价。 must_not 所有的语句都 不能(must not) 匹配,与 NOT 等价。 should 至少有一个语句要匹配,与 OR 等价
到此这篇关于Elasticsearch属性单词常用解析说明的文章就介绍到这了,更多相关Elasticsearch属性单词解析内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章: