没有用到elasticsearch的全文搜索特性,反而它的分词给我带来不少困扰。好比一个字段是html
Wang Dai
我想用正则表达式去匹配,却只能使用单个词的匹配好比W.*g
或者D.*i
而不能使用整个句子的匹配W.*i
正则表达式
这个问题能够参考http://elasticsearch-users.115913.n3.nabble.com/Disabling-default-analyzer-td2932819.html
如下是我本身的记录app
PUT /<index_name>/_mapping { <type_name>: { properties: { <column_name>: {type: string, index: not_analyzed} } } }
PUT /<index_name> { analysis: { analyzer: { default: { type: keyword } } } }
或在elasticsearch.yml
中加上elasticsearch
index: analysis: analyzer: default: type: keword
但这种方法略坑,由于它仍是能按词搜,不过按句子搜也是能够了code
这种没用过,跟加not_analyzed
是同样的,不过是把加这个参数设置成默认行为htm