2017-09-14 5 views
0

現在、elasticsearchの言語アナライザを使用しています。これで私は、ドキュメントを検索するためにアナライザを使用する必要がある場合、アナライザとマッピングを定義する必要があることを発見しました。 私の場合、文書に通常のテキストフィールドが含まれていれば正常に動作しますが、ネストされたフィールドに同じプロパティを適用するとアナライザは機能しません。言語アナライザでネストマッピングを使用する方法

これは、上記の問題で私を助けてください言語解析

PUT checkmap 
{ 
    "settings": { 
    "analysis": { 
     "analyzer": { 
     "stemmerenglish": { 
      "tokenizer": "standard", 
      "filter": [ 
      "standard", 
      "lowercase", 
      "my_stemmer" 
      ] 
     } 
     }, 
     "filter": { 
     "my_stemmer": { 
      "type": "stemmer", 
      "name": "english" 
     } 
     } 
    } 
    }, 
    "mappings": { 
    "dd": { 
     "properties": { 
     "Courses": { 
      "type": "nested", 
      "properties": { 
      "Sname": { 
       "type": "text", 
       "analyzer": "stemmerenglish", 
       "search_analyzer": "stemmerenglish" 
      } 
      } 
     } 
     } 
    } 
    } 
} 

ためのコードです。

+0

here続きを読みます。アナライザが機能していないことをどのように知っていますか?実行しているクエリーは動作しません。それを共有してください。 – Richa

+0

PUTのcheckmap/DD/2 { "コース":[ { "SNAME": "ジャンプ" } ] } GET checkmap3/_search { "クエリ":{ "一致": { "Courses.Sname":{ "クエリ": "ジャンプ" } } } } – honey

答えて

2

ネストされたタイプにはNested Queryを使用する必要があります。次のクエリ

GET checkmap/_search 
{ 
"query": { 
    "nested": { 
    "path": "Courses", 
    "query": { 
     "match": { 
      "Courses.Sname": { 
       "query": "Jump" 
      } 
      } 
     } 
     } 
    } 
    } 

を使用してくださいあなたは上記のマッピングを提供している

+0

ありがとうございます。今働いている。 – honey

+0

あなたは答えを受け入れることができます.. .. :) – Richa

関連する問題