ElasticSearch搜索语法模板,是否索引,是否分词,是否存储

logstash -f …/mysqletc/mysql-project.conf

es是java开发的,要求jdk1.8以上
eshm是nodejs开发的,要求运行环境是node(chrom的V8引擎)
postman是一个发送http请求的抓包工具
ik是中文分词器,在es的plugs文件夹下面
logstash是java开发的

模板:

{
    "mappings": {
        "article": {//表
            "properties": {//列
                "id": {
                    "type": "long", 
                    "store": true//是否存储(是否在搜索结果显示)
                }, 
                "title": {
                    "type": "text", 
                    "store": true, 
                    "index": "true", //是否索引,默认false(该域是否可以被搜索)
                    "analyzer": "standard"
                }, 
                "content": {
                    "type": "text", 
                    "store": true, 
                    "index": "analyzed", 
                    "analyzer": "standard"//是否分词(搜索的时候是整体匹配还是分词匹配)
                }
            }
        }
    }
}

删除需要根据_id,当然es主要为了查询效率提高
查询模板(标准分词器只支持一个汉字)
模板

http://127.0.0.1:9200/blog1/hello/_search
(关键词查询只能一个汉字)
{
    "query": {
        "term": {
            "content": "都"
        }
    }
}
(分词查询)

{
    "query": {
        "query_string": {
            "default_field": "content", 
            "query": "都帅"
        }
    }
}
分页查询模板post
{

    "query": {
        "bool": {
            "must": [
                {
                    "query_string": {
                        "default_field": "title",
                        "query": "火箭一龙"
                    }
                }
            ],
            "must_not": [ ],
            "should": [ ]
        }
    },
    "from": 0,
    "size": 10,
    "sort": [ ],
    "aggs": { }

}

分页/排序/聚合/范围(>|<)/与或非/模板 (注释版)
post:http://localhost:9200/blog/hello/_search/?scroll=1m _search是向es服务器发送的匹配controller的关键字,scroll不用刻意删除用于数据量较大

{
    "size": 1000**一次从scrollId快照中取多少条数据,不用删除**
    "query": {  **查询关键字**
        "bool": { **声明与或非**
            "must": [ **与and**
                {
                    "range": {
                        "id": {
                            "gte": "1", 
                            "lte": 3
                        }
                    }
                }
            ], 
            "must_not": [ ], **非!**
            "should": [ **或or**
                {
                    "query_string": { **用field指定的分词器分词查询**
                        "default_field": "title", **查询字段**
                        "query": "火箭一龙" **分词text**
                    }
                }, 
                {
                    "query_string": {
                        "default_field": "content", 
                        "query": "人们虎扑"
                    }
                }, 
                {
                    "terms": { **手动指定多个关键字**
                        "name": [
                            "john", 
                            "da"
                        ]
                    }
                }, 
                {
                    "term": { **手动指定单个关键字**
                        "name": "john"
                    }
                }
            ]
        }
    }, 
    "from": 0, **分页查询start**
    "size": 5, **分页查询size**
    "sort": [
        {
            "id": {
                "order": "desc"
            }
        }
    ], 
    "aggs": { **声明使用聚合函数关键字**
        "maxid": { **指定聚合生成数据变量名,随意取**
            "max": { **聚合函数**
                "field": "id" **指定列**
            }
        }
    }
}

(纯净版)

{
    "query": {
        "bool": {
            "must": [
                {
                    "range": {
                        "id": {
                            "gte": "1", 
                            "lte": 3
                        }
                    }
                }
            ], 
            "must_not": [ ], 
            "should": [
                {
                    "query_string": {
                        "default_field": "title", 
                        "query": "火箭一龙"
                    }
                }, 
                {
                    "query_string": {
                        "default_field": "content", 
                        "query": "人们虎扑"
                    }
                }, 
                {
                    "terms": {
                        "name": [
                            "john", 
                            "da"
                        ]
                    }
                }, 
                {
                    "term": {
                        "name": "john"
                    }
                }
            ]
        }
    }, 
    "from": 0, 
    "size": 5, 
    "sort": [
        {
            "id": {
                "order": "desc"
            }
        }
    ], 
    "aggs": {
        "maxid": {
            "max": {
                "field": "id"
            }
        }
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值