赞
踩
在es中搜索是非常重要的核心功能(说白了使用es存储数据主要目的就是为了更好更快更准确的搜索)而Elasticsearch提供了一种json风格的查询语言,称为Query DSL(Query domain-specific language)。查询语言功能很全面能结果我们生产中绝大部分的查询需求。下面跟随笔者一起来学习一下DSL查询的功能。
GET请求: http://ip:port/{
index_name}/{
type}/_search
GET: http://xxx.xx.x.xxx:9200/singers/singer/_search
DSL搜索 请求url是如上固定的,我们只需要修改json类型的查询条件
//1. 设置相关映射关系 { "properties": { "name": { //字符串 "type": "text", "index": "true", "analyzer": "ik_max_word", //为name添加 keyword字段用于term精确查找 "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } }, "desc": { //日期类型 "type": "text", "index": "true", //分词器 "analyzer": "ik_max_word", //为desc添加 keyword字段用于term精确查找 "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } } } } } //2. 填充数据 不会bulk批量插入 见谅 POST http://xxx.xx.x.xx:9200/singers/singer/ { "id": 42, "name": "音阙诗听", "signer_id": 1288409, "images": "http://y.gtimg.cn/music/photo_new/T001R150x150M000002vALgR3hRRlv.webp", "height": 1.64
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。