分词结果查看
GET _analyze?pretty
{
"analyzer": "ik_smart",
"text": "瑞典鲍费斯一弹药厂爆炸"
}
分词后匹配
根据lucene的评分机制(TF/IDF)来进行评分
GET ledge/safe/_search
{
"size": 20,
"query":{
"match":{"name":"制度"}
}
}
term完全匹配
存数据库数据是分词后 --> 完全匹配分词后数据
存数据库数据未分词<not_analyzed> --> 完全匹配整句
GET ledge/safe/_search
{
"size": 20,
"query":{
"term":{"name":"药厂"
}
}
}
match_phrase_prefix 查询时输入即搜索 <前缀查询>
slop 值使匹配时的词序有更大的灵活性,让相对词序位置不那么严格可以通过设置
max_expansions
参数来限制前缀扩展的影响, 一个合理的值是可能是 50;参数max_expansions
控制着可以与前缀匹配的词的数量,它会先查找第一个与前缀bl
匹配的词,然后依次查找搜集与之匹配的词(按字母顺序),直到没有更多可匹配的词或当数量超过max_expansions
时结束。
{
"match_phrase_prefix" : {
"name" : "johnnie walker bl"
}
}
wildcard 模糊查询
需要字段不分词,允许指定匹配的正则式,它使用标准的 shell 通配符查询:?
匹配任意字符,*
匹配 0 或多个字符。
注意:
删除type
更新type数据
POST knowledge/accident_end/_update_by_query?conflicts=proceed
{
"query": {
"match_all": {}
}
}
官网了解一下 https://www.elastic.co/guide/cn/elasticsearch/guide/current/_wildcard_and_regexp_queries.html
其他博客 https://blog.csdn.net/taoshujian/article/details/60397099
持续更新...