【问题标题】:What is a multi-token string?什么是多标记字符串?
【发布时间】:2014-08-13 05:20:21
【问题描述】:
在 github 上浏览 Elasticsearch 问题,发现 this comment 声明:
多令牌字符串字段在任何情况下都不能被 Elasticsearch 排序
可预测的方式。
作为参考,我们在这里讨论的是“14/05/08-13:41:23”形式的字符串时间戳。
从上下文来看,我会假设任何非字母数字字符串(具有 [A-Za-z0-9] 以外的其他字符)都是多标记字符串?
【问题讨论】:
标签:
string
elasticsearch
mapping
token
kibana
【解决方案1】:
好吧,我把它误解为一个我不知道的关于字符串的一般概念,但它实际上似乎是 Elasticsearch 特定的行话:
默认情况下,当处理映射为字符串的字段时,ElasticSearch 会解析它们并尝试将它们分解为多个标记,对于包含/ 或 的字符串似乎也是如此。结果,这些字符串成为“多标记字符串”。为了避免这种情况,需要编辑 ElasticSearch 的映射并将字段设置为“not_analyzed”,例如:
"my_field2": { "type": "string", "index": "not_analyzed" }
请参阅 here 和 there 以供参考。