elasticsearch学习笔记高级篇(七)——基于term+bool搜索底层原理剖析

栏目: Java · 发布时间: 5年前

内容简介:在上一讲我们可以发现,对于multi-value的搜索方式,实现起来可以有多种方式。这里就说明一下,实现的方式虽然很多,但是elasticsearch在查询的时候底层都会转换为bool + term的形式使用类似上面的match query进行多值搜索的时候,elasticsearch会在底层自动将这个match query转换为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": 3
        }
    }
}

转换为:

{
    "bool": {
        "should": [
            {
                "term": {
                    "title": "java"
                }
            },
            {
                "term": {
                    "title": "elasticsearch"
                }
            },
            {
                "term": {
                    "title": "spark"
                }
            },
            {
                "term": {
                    "title": "hadoop"
                }
            }
        ],
        "minimum_should_match": 3
    }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

成为乔布斯

成为乔布斯

[美] 布伦特·施兰德、[美] 里克·特策利 / 陶亮 / 中信出版集团 / 2016-10 / 69.00元

本书描绘了一位多姿多彩的人物将与生俱来的激情与成熟的管理方式相结合,打造出史上最有价值、最受消费者追捧的公司,这本书将彻底改变我们看待乔布斯的方式。 本书推翻了关于史蒂夫·乔布斯的传说和陈词滥调,比如他是天才和混蛋的结合体,暴躁易怒、自私自利,怠慢朋友与家人。本书揭示了这位苹果联合创始人和CEO的家庭生活与职业生涯,并回答了一个关键问题:为什么如此轻狂傲慢、以至于被赶出苹果的年轻人能成为史上......一起来看看 《成为乔布斯》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具