-----在ElasticSearch 之后,字符串类型有了重大改动,移除了String类型,而拆分成了两个新类型:“text”类型用于全文搜索,“keyword”类型用于关键词搜索。
- 他们最大的区别在于是否会利用分词器进行分词。
text类型:
- 会进行分词,分词后建立索引。【比如:对于‘佟永硕’,ik分词器的smart分词会自动将其分成佟、永、硕三个字符进行建立索引,所以单字符搜索可以搜索到,而比如‘永硕’则搜索不到】
- 支持模糊查询,支持准确查询。
- 不支持聚合查询
keyword类型:
- 不分词,直接建立索引。【依据此特点,可以使用keyword类型+wildcardQuery(通配查询)实现类似sql的like查询(模糊搜索)】
- 支持模糊查询,支持准确查询。
- 支持聚合查询。