脚本宝典收集整理的这篇文章主要介绍了elasticsearch学习笔记高级篇(七)——基于term+bool搜索底层原理剖析,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在上一讲我们可以发现,对于multi-value的搜索方式,实现起来可以有多种方式。这里就说明一下,实现的方式虽然很多,但是elasticseArch在查询的时候底层都会转换为bool + term的形式
1、普通的match如何转换为term+should
{ "match": { "tITle": "java elasticsearch" } }
使用类似上面的match query进行多值搜索的时候,elasticsearch会在底层自动将这个match query转换为bool的语法
{ "bool": { "should": [ { "term": { "title": "java" } }, { "term: { "title": "elasticsearch" } } ] } }
2、and match 如何转换为term+must
{ "match": { "title": { "query": "java elasticsearch", "operator": "and" } } }
转换为:
{ "bool": { "must": [ { "term": { "title": "java" } }, { "term": { "title": "elasticsearch" } } ] } }
3、minimum_should_match如何转换
{ "match": { "title": { "query": "java elasticsearch spark hadoop", "minimum_should_match": @H_304_131@3 } } }
转换为:
{ "bool": { "should": [ { "term": { "title": "java" } }, { "term": { "title": "elasticsearch" } }, { "term": { "title": "spark" } }, { "term": { "title": "hadoop" } } ], "minimum_should_match": 3 } }
以上是脚本宝典为你收集整理的elasticsearch学习笔记高级篇(七)——基于term+bool搜索底层原理剖析全部内容,希望文章能够帮你解决elasticsearch学习笔记高级篇(七)——基于term+bool搜索底层原理剖析所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。