整理下ES的数据类型.
巨人肩膀:
按照不同类型ES有更细的,数据类型拆分cuiyaonan2000@163.com
按规则分词,至少分词1个词,做全文检索(不要存放空值,会导致性能浪费).默认分词器standard
text 类型适用于需要被全文检索的字段,例如新闻正文、邮件内容等比较长的文字,text 类型会被 Lucene 分词器(Analyzer)处理为一个个词项,并使用 Lucene 倒排索引存储,text 字段不能被用于排序,如果需要使用该类型的字段只需要在定义映射时指定 JSON 中对应字段的 type 为 text。
当然Text不是一成不变的,还有更高级的使用cuiyaonan2000@163.com 如下的结构才是Text常用的结构
- "message" : {
- "type" : "text",
- "fields" : {
- "keyword" : {
- "type" : "keyword",
- "ignore_above" : 256
- }
- }
- }
如上设置message 的长度最长为256,超过256的不被索引,这里的不被索引是这个字段不被索引,但是其他字段有的话仍然被索引到。其实可以不用这个因为都已经被分词了,切记如果超过规定长度就不会被索引,即被模糊查询搜索到cuiyaonan2000@163.com
不分词,仅仅一个词,查询效率高,早期没有这个类型,用String代替,通过属性设置
应用场景:固定文本,无需全文检索,如姓名,省,商品类目