ElasticSearch-初识
ElasticSearch-初识
常用命令
e.g. curl -X GET "http://100.86.13.57:9200/goods_type/_mapping?pretty"
索引
-
查看所有索引 get
/_cat/indices?v"
-
查询索引中的字段 get
/{index}/_mapping?pretty
-
删除索引 DELETE /index_name
-
增加索引并添加字段
PUT /{index}/_mapping { "properties": { "new_field": { "type": "text", "analyzer": "standard" } } }
-
数据
- 新增数据 put
/{index}/_doc/1
- 查询所有数据 get
/index/_search?pretty=true
分词器
standard:默认分词器,中文支持的不理想,会逐字拆分
simple:按照非字母切分(符号被过滤),小写处理
pattern:以正则匹配分隔符,把文本拆分成若干词项
simple pattern:以正则匹配词项,速度比pattern tokenizer快
whitespace:以空白符分割
Stop:小写处理,停用词过滤(the,a,is)
Keyword:不分词,直接将输入当做输出
搜索类型
https://blog.51cto.com/u_15287666/5736427#2matchor_113
term
term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,所以我们的搜索词必须是文档分词集合中的一个
match
match查询会先对搜索词进行分词,分词完毕后再逐个对分词结果进行匹配,因此相比于term的精确搜索,match是分词匹配搜索,match搜索还有两个相似功能的变种,一个是match_phrase,一个是multi_match