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