• ElasticSearch高级查询


    ElasticSearch高级查询

    https://www.imooc.com/video/15759/0
    
    ElasticSearch查询
    
    
    
    
    
    1,子条件查询:特定字段查询所指特定值
    
    1.1query context,有_score
    1.1.1全文本查询,针对文本类型数据
    1.1.1.1 模糊匹配
    POST http://127.0.0.1/book/_search
    {
        "query":{
            "match":{
                "author":"瓦力"
            }
        }
    }
    {
        "query":{
            "match":{
                "title":"ElasticSearch入门"
            }
        }
    }
    
    
    1.1.1.2 习语匹配
    {
        "query":{
            "match_phrase":{
                "title":"ElasticSearch入门"
            }
        }
    }
    
    1.1.1.3 多字段匹配
    {
        "query":{
            "multi_match":{
                "query":"瓦力",
                "fields":["author","title"]
            }
        }
    }
    
    1.1.1.4 语法查询
    {
        "query":{
            "query_string":{
                "query":"ElasticSearch AND 大法"
            }
        }
    }
    
    {
        "query":{
            "query_string":{
                "query":"(ElasticSearch AND 大法) OR Python"
            }
        }
    }
    
    {
        "query":{
            "query_string":{
                "query":"瓦力 OR ElasticSearch",
                "fields":["title","author"]
            }
        }
    }
    1.1.2字段级别查询,针对结构化数据,如数字、日期等
    
    {
        "query":{
            "term":{
                "word_count":1000
            }
        }
    }
    
    {
        "query":{
            "term":{
                "author":"瓦力"
            }
        }
    }
    {
        "query":{
            "range":{
                "word_count":{
                    "gte":1000,
                    "lte":2000
                }
            }
        }
    }
    {
        "query":{
            "range":{
                "word_count":{
                    "gt":1000,
                    "lte":2000
                }
            }
        }
    }
    {
        "query":{
            "range":{
                "publish_date":{
                    "gte":"2017-01-01",
                    "lte":"2017-12-31"
                }
            }
        }
    }
    {
        "query":{
            "range":{
                "publish_date":{
                    "gte":"2017-01-01",
                    "lte":"now"
                }
            }
        }
    }
    1.2filter context
    filter表示查找是不是
    
    {
        "query": {
            "bool": {
                "filter": {
                    "term": {
                        "word_count": 1000
                    }
                }
            }
        }
    }
    
    
    
    2,复合条件查询:以一定的逻辑组合子条件查询
    
    
    2.1 固定分数查询
    {
        "query": {
            "match": {
                "title": "ElasticSearch"
            }
        }
    }
    
    {
        "query": {
            "constant_score": {
                "filter": {
                    "match": {
                        "title": "ElasticSearch"
                    }
                }
            }
        }
    }
    
    {
        "query": {
            "constant_score": {
                "filter": {
                    "match": {
                        "title": "ElasticSearch"
                    }
                },
                "boost": 2
            }
        }
    }
    
    2.2 bool查询
    
    should - 表示 或者
    {
        "query": {
            "bool": { 
                "should": [
                    {
                        "match":{
                            "author": "瓦力"
                        }
                    },
                    {
                        "match": {
                            "title": "ElasticSearch"
                        }
                        
                    }
                    
                ]
            }
        }
    }
    
    must - 表示 必须
    
    {
        "query": {
            "bool": { 
                "must": [
                    {
                        "match":{
                            "author": "瓦力"
                        }
                    },
                    {
                        "match": {
                            "title": "ElasticSearch"
                        }
                        
                    }
                    
                ]
            }
        }
    }
    
    {
        "query": {
            "bool": { 
                "must": [
                    {
                        "match":{
                            "author": "瓦力"
                        }
                    },
                    {
                        "match": {
                            "title": "ElasticSearch"
                        }
                        
                    }
                    
                ],
                "filter": [
                    {
                        "term": {
                            "word_count": 1000
                        }
                    }
                ]
            }
        }
    }
    {
        "query": {
            "bool": { 
                "must_not": {
                    "term": {
                        "author": "瓦力"
                    }
                }
            }
        }
    }

    https://www.imooc.com/video/15759/0
    ElasticSearch查询




    1,子条件查询:特定字段查询所指特定值
    1.1query context,有_score1.1.1全文本查询,针对文本类型数据1.1.1.1 模糊匹配POST http://127.0.0.1/book/_search{    "query":{        "match":{            "author":"瓦力"        }    }}{    "query":{        "match":{            "title":"ElasticSearch入门"        }    }}

    1.1.1.2 习语匹配{    "query":{        "match_phrase":{            "title":"ElasticSearch入门"        }    }}
    1.1.1.3 多字段匹配{    "query":{        "multi_match":{            "query":"瓦力",            "fields":["author","title"]        }    }}
    1.1.1.4 语法查询{    "query":{        "query_string":{            "query":"ElasticSearch AND 大法"        }    }}
    {    "query":{        "query_string":{            "query":"(ElasticSearch AND 大法) OR Python"        }    }}
    {    "query":{        "query_string":{            "query":"瓦力 OR ElasticSearch",            "fields":["title","author"]        }    }}1.1.2字段级别查询,针对结构化数据,如数字、日期等
    {    "query":{        "term":{            "word_count":1000        }    }}
    {    "query":{        "term":{            "author":"瓦力"        }    }}{    "query":{        "range":{            "word_count":{                "gte":1000,                "lte":2000            }        }    }}{    "query":{        "range":{            "word_count":{                "gt":1000,                "lte":2000            }        }    }}{    "query":{        "range":{            "publish_date":{                "gte":"2017-01-01",                "lte":"2017-12-31"            }        }    }}{    "query":{        "range":{            "publish_date":{                "gte":"2017-01-01",                "lte":"now"            }        }    }}1.2filter contextfilter表示查找是不是
    {"query": {"bool": {"filter": {"term": {"word_count": 1000}}}}}


    2,复合条件查询:以一定的逻辑组合子条件查询

    2.1 固定分数查询{"query": {"match": {"title": "ElasticSearch"}}}
    {"query": {"constant_score": {"filter": {"match": {"title": "ElasticSearch"}}}}}
    {"query": {"constant_score": {"filter": {"match": {"title": "ElasticSearch"}},"boost": 2}}}
    2.2 bool查询
    should - 表示 或者{"query": {"bool": { "should": [{"match":{"author": "瓦力"}},{"match": {"title": "ElasticSearch"}}]}}}
    must - 表示 必须
    {"query": {"bool": { "must": [{"match":{"author": "瓦力"}},{"match": {"title": "ElasticSearch"}}]}}}
    {"query": {"bool": { "must": [{"match":{"author": "瓦力"}},{"match": {"title": "ElasticSearch"}}],"filter": [{"term": {"word_count": 1000}}]}}}{"query": {"bool": { "must_not": {"term": {"author": "瓦力"}}}}}

  • 相关阅读:
    paddlepaddle训练网络的基本流程二(进阶Paddle-detection框架)
    paddlepaddle训练网络的基本流程一(入门示例)
    redis常用操作命令
    mysql基础命令
    使用Gunicorn和nginx进行Flask服务部署
    如何测试(八)抖音 如何测试?
    全(十九)Jmeter 请求 之 遇到 cookie、token 处理方式(使用 正则表达式提取器 获取 然后在引用)
    全(十八)Jmeter 请求元件 之 JSON PATH 提取 响应结果
    全(十七)Jmeter 请求元件 之 正则表达式提取器 提取 响应结果、foreach循环控制器
    全(十六)Jmeter 请求 之 正则表达式
  • 原文地址:https://www.cnblogs.com/stono/p/9060433.html
Copyright © 2020-2023  润新知