2016-12-13 5 views
0
私はフィールドで非常にシンプルなアイテムのインデックスを作成しています

を検索することができませんでした私はこのエラーを得たElasticsearch 5.0.2は、次のような定義キーワード

「これはIDである」完全一致で項目を照会:

cannot search on field [comid] since it is not indexed 

は、たぶん私はドキュメントを誤解が、私たちは、キーワードを検索することができます思った(U完全一致を歌う)?

タイプをキーワードからテキストに変更し、キーワードアナライザ(正しく理解すればnoopです)を使用してこの問題を回避できると思いますが、すべてのキーワードタイプフィールドでこれを行うのは変です。

私はここで何かを見逃しているに違いありませんか?

答えて

0

索引付けされていない場合、フィールドのデータは索引ではなく文書に格納されるため、そのフィールドを使用して検索することはできません。

参照:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index.html

+0

私は「インデックス」でインデックスを再作成した場合はtrue、私はフィールドを問い合わせることができしかし、このフィールドは、現在分析されていることを意味しないのですか?だから私は奇妙だと思うそれぞれのキーワードフィールドのためのnoopアナライザを指定する必要があります。キーワードのデフォルトのアナライザがキーワードアナライザ(noop)でない限り、 – BonitoFlakes

+0

はい、デフォルトで解析されます。これは、検索エンジンのためのかなり賢明なデフォルトです。しかし、デフォルトのアナライザを変更することはできます:https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer.html – Javier

+0

"キーワード"の場合、それは "アナライザ"を受け入れないようですエラーが発生します。公式文書には、デフォルトのアナライザが「キーワード」タイプのものも記載されていません。しかし、あなたの元のメッセージは、私がインデックスと分析の間で混乱していることに気付きました。私は答えとしてマークしています – BonitoFlakes

関連する問題