0
我索引一个非常简单的项目有场定义为这样:Elasticsearch 5.0.2未能搜索关键字
"comid": {
"type": "keyword",
"store": "false",
"index": "no",
"include_in_all": false,
"doc_values": false
}
我那么摄入的单个项目,其中comid =“这是一个id” 当我与查询精确匹配项目“这是一个id”
我得到这个错误:
cannot search on field [comid] since it is not indexed
也许我误解的文件,但我认为,我们能够搜索关键字(U唱完全匹配)?
我想我可以通过改变关键字到文本的类型,然后使用关键字分析器(如果我正确地理解它的话是noop)来解决这个问题,但是对于每个关键字类型字段,这似乎很奇怪。
我必须在这里丢失一些明显的东西吗?
如果我用“指数”重新索引:真的,我可以查询的字段但不这意味着该领域正在分析?所以现在我需要为每个关键字字段指定一个noop分析器,我认为这很奇怪。除非关键字的默认分析仪是关键字分析仪(即noop) – BonitoFlakes
是的,默认情况下会分析它。这是搜索引擎的一个非常合理的默认值。但您可以更改默认分析器:https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer.html – Javier
似乎对于“关键字”类型,它不会接受“分析器”,因为它会抛出错误。官方文档没有提及“关键字”类型的默认分析器。然而,您的原始消息帮助我意识到我在索引和分析之间感到困惑,所以我将其标记为答案 – BonitoFlakes