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

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

内容简介:在上一讲我们可以发现,对于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-2 / 49.00元

对于大数据未来趋势的判断 车品觉 光阴荏苒,2015年在跌跌荡荡中成了过去式,对于大数据的产业来说过去这一年冒出了很多新的名词。但在我看来,真正的大数据应用和市场才刚刚开始萌芽,所以我希望大家先认清一个关键,那就是所有的数据都是基于应用而产生,而数据经过釆集及整合后又再落实到自身或其他应用情境中,大数据的创新价值可以来自新连接的数据、算法或者产品本身。 过去两年大数据的成长和智能......一起来看看 《颠覆营销》 这本书的介绍吧!

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

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具