ASP站长网Elasticsearch Kibana Discover的搜索框中,使用的是Lucene Query Syntax。经常使用,在这里梳理并总结。
 
测试数据
 
创建索引设置mapping
 
#创建索引
PUT user_web_info
 
#设置mapping
PUT user_web_info/_mapping/user
{
  "properties": {
    "uuid":{"type":"long"},
    "name":{"type":"text","fields":{"keyword":{"type": "keyword"}}},
    "nickname":{"type":"text"},
    "age":{"type":"integer"},
    "dt":{"type":"date","format": "yyyy-MM-dd"}
  }
}
 
插入数据
 
POST user_web_info/user/_bulk
{ "create": {"_id": "1" }}
{"uuid":1,"name":"jack chen","nickname":"apple pear","age":20,"dt":"2016-06-25"}
{ "create": {"_id": "2" }}
{"uuid":2,"name":"jack ma","nickname":"apple pear pear","age":22,"dt":"2016-08-23"}
{ "create": {"_id": "3" }}
{"uuid":3,"name":"lucy","nickname":"apple pear apple","age":23,"dt":"2016-08-25"}
 
添加Index Patterns 查看数据
 
Elasticsearch Kibana查询语法
 
查询语法
 
全文搜索
 
单词
 
apple pear ,返回所有字段中包含单词apple或pear的文档
 
短语
 
"apple pear" ,返回所有字段中包含短语"apple pear"的文档
 
按字段搜索
 
一个字段
 
nickname:apple pear,返回nickname字段包含单词apple或pear的文档
nickname:"apple pear",返回username字段包含短语"apple pear"的文档
 
多个字段
 
name:jack AND nickname:"apple pear",返回name字段包含单词jack 并且 nickname字段包含短语"apple pear"的文档
 
通配符搜索
 
匹配单一字符
 
nickname:appl? ,返回nickname字段包含单词(appl+任意一个字符)的文档
 
匹配任意多个字符
 
nickname:app*e,返回nickname字段包含单词(以app开头,以e结尾)的文档
 
范围搜索
 
包括首尾
 
dt:["2016-06-25" TO "2016-08-25"],返回"2016-06-25"≤ dt ≤"2016-08-25"的文档
 
不包括首尾
 
dt:{"2016-06-25" TO "2016-08-25"},返回"2016-06-25"< dt <"2016-08-25"的文档
 
包括首或尾
 
dt:{"2016-06-25" TO "2016-08-25"],返回"2016-06-25"< dt ≤"2016-08-25"的文档
 
布尔搜索
 
AND
 
name:"jack ma" AND nickname:"apple pear pear",返回name字段包含"jack ma" 且 nickname字段包含"apple pear pear"的文档
 
OR
 
name:jack OR nickname:apple,返回name字段包含jack或nickname字段包含apple的文档
 
NOT
 
name:jack NOT nickname:"pear pear",返回name字段包含jack,nickname字段不包含"pear pear"的文档

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。