2017-02-09 13 views
0

せずにインデックスが作成されますが、私のインデックスの設定JSON、私がテストしたときに http://localhost:9200/myIndex/_analyze?text=「アナライザのテスト」&アナライザ= nGram_analyzer である私は、次の例外を取得しています。私はオートコンプリート機能に取り組んでいますElasticsearchアナライザを見つけることができませんでしたが、それはここでエラー

{ 
    "error": { 
    "root_cause": [ 
     { 
     "type": "remote_transport_exception", 
     "reason": "[Infectia][127.0.0.1:9300][indices:admin/analyze[s]]" 
     } 
    ], 
    "type": "illegal_argument_exception", 
    "reason": "failed to find analyzer [nGram_analyzer]" 
    }, 
    "status": 400 
} 

インデックスの設定

{ 
     "myIndex": { 
     "mappings": { 
      "practices": { 
      "properties": { 
       "practiceCity": { 
       "type": "string", 
       "index":"analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "practiceId": { 
       "type": "long", 
       "index":"not_analyzed" 
       }, 
       "practiceName": { 
       "type": "string", 
       "boost": 10, 
       "index":"analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "practicePhone": { 
       "type": "long", 
       "boost": 10, 
       "index":"analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "practiceService": { 
       "type": "string", 
       "boost": 5, 
       "index":"not_analyzed" 
       } 
      } 
      }, 
      "users": { 
      "_all": { 
       "analyzer": "nGram_analyzer" 
      }, 
      "properties": { 
       "userCityId": { 
       "type": "long", 
       "index":"not_analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "userCityName": { 
       "type": "string", 
       "index":"not_analyzed" 
       }, 
       "userEmail": { 
       "type": "string", 
       "index":"analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "userFirstName": { 
       "type": "string", 
       "boost": 10, 
       "index":"analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "userId": { 
       "type": "long" 
       }, 
       "userLastName": { 
       "type": "string", 
       "boost": 10, 
       "index":"analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "userMobile": { 
       "type": "string", 
       "index":"analyzed", 
       "analyzer": "nGram_analyzer" 
       }, 
       "userSpecialization": { 
       "type": "string", 
       "boost": 5, 
       "index":"not_analyzed" 
       } 
      } 
      } 
     }, 
     "settings": { 
      "index": { 
      "analysis": { 
      "analyzer": { 
      "nGram_analyzer": { 
       "type":  "custom", 
       "tokenizer": "standard", 
        "filter": [ 
        "nGram_filter" 
        ] 
       } 
       }, 
       "filter": { 
       "nGram_filter": { 
        "max_gram": "20", 
        "type": "edgeNGram", 
        "min_gram": "3", 
        "token_chars": [ 
        "letter", 
        "digit", 
        "punctuation", 
        "symbol" 
        ] 
       } 
       } 
      }, 
      "number_of_replicas": "1", 
      "number_of_shards": "5" 
      } 
     } 
     } 
    } 

、私のインデックスがよさそうだのですか? パフォーマンス向上のためのアドバイスはありますか?

答えて

1

あなたはこのようsettingsセクションに変更する必要があります(つまりanalysisが直接indexsettingsないの下に行く)

これを言って申し訳ありません
PUT myindex 
{ 
    "mappings": { 
    "practices": { 
     "properties": { 
     "practiceCity": { 
      "type": "string", 
      "index": "analyzed", 
      "analyzer": "nGram_analyzer" 
     }, 
     "practiceId": { 
      "type": "long", 
      "index": "not_analyzed" 
     }, 
     "practiceName": { 
      "type": "string", 
      "boost": 10, 
      "index": "analyzed", 
      "analyzer": "nGram_analyzer" 
     }, 
     "practicePhone": { 
      "type": "long", 
      "boost": 10 
     }, 
     "practiceService": { 
      "type": "string", 
      "boost": 5, 
      "index": "not_analyzed" 
     } 
     } 
    }, 
    "users": { 
     "properties": { 
     "userCityId": { 
      "type": "long" 
     }, 
     "userCityName": { 
      "type": "string", 
      "index": "not_analyzed" 
     }, 
     "userEmail": { 
      "type": "string", 
      "index": "analyzed", 
      "analyzer": "nGram_analyzer" 
     }, 
     "userFirstName": { 
      "type": "string", 
      "boost": 10, 
      "index": "analyzed", 
      "analyzer": "nGram_analyzer" 
     }, 
     "userId": { 
      "type": "long" 
     }, 
     "userLastName": { 
      "type": "string", 
      "boost": 10, 
      "index": "analyzed", 
      "analyzer": "nGram_analyzer" 
     }, 
     "userMobile": { 
      "type": "string", 
      "index": "analyzed", 
      "analyzer": "nGram_analyzer" 
     }, 
     "userSpecialization": { 
      "type": "string", 
      "boost": 5, 
      "index": "not_analyzed" 
     } 
     } 
    } 
    }, 
    "settings": { 
    "index": { 
     "number_of_replicas": "1", 
     "number_of_shards": "5" 
    }, 
    "analysis": { 
     "analyzer": { 
     "nGram_analyzer": { 
      "type": "custom", 
      "tokenizer": "standard", 
      "filter": [ 
      "nGram_filter" 
      ] 
     } 
     }, 
     "filter": { 
     "nGram_filter": { 
      "max_gram": "20", 
      "type": "edgeNGram", 
      "min_gram": "3", 
      "token_chars": [ 
      "letter", 
      "digit", 
      "punctuation", 
      "symbol" 
      ] 
     } 
     } 
    } 
    } 
} 
+0

を...ヴァル、同じエラー応答を働いていません。 固定インデックス設定ノードをコピーしました。 –

+0

問題を修正して回答を更新しました。もう一度お試しください。 – Val

+0

いいえ、まだ修正されておらず、同じエラー応答が返ってきています。 –

関連する問題