2016-03-29 13 views
0

私はElasticSearch 1.4.2を使用しており、特定のフィールドやインデックスに対してTermクエリを実行したい。したがって、私は 用語クエリでデータが返されず、解析されていない部分が機能しない

以下
curl -XPUT localhost:9200/_river/modelsymptom/_meta -d '{ 
    "type": "mongodb", 
    "mongodb": { 
    "servers": [ 
     { "host": "localhost", "port": 27017 } 
    ], 
    "db": "bosch", 
    "collection": "Model_Symptom", 
    "options": { "secondary_read_preference": true }, 
    "gridfs": false 
    }, 
    "index": { 
    "name": "modelsymptom", 
    "type": "diagnosis", 
    "analyzer": "not_analyzed", 
    "mappings": { 
    "modelsymptom": { 
     "properties": { 
      "symptom_id": { 
       "type": "string", 
       "analyzer": "not_analyzed" 
     }, 
      "probability": { 
      "type": "string" 
     }, 
      "casue_id": { 
      "type": "string" 
     }, 
      "doc_type": { 
      "type": "string", 
      "index": "not_analyzed" 
     }, 
      "model_id": { 
      "type": "string", 
      "index": "not_analyzed" 
     } 
     } 
    } 
    } 
    } 
}' 

を使用してインデックスを構築するために管理が、それは動作していない、との用語クエリは、まだすべてのデータを返さないと、私はインデックスMetadatを表示したとき、私はアナライザ部分がに聞こえることを確認します私は文字列に設定しますが、すべての結果を取得していない用語のクエリに

{ 
    "state": "open", 
    "settings": { 
     "index": { 
      "creation_date": "1459257376193", 
      "number_of_shards": "5", 
      "number_of_replicas": "0", 
      "version": { 
       "created": "1040299" 
      }, 
      "uuid": "3srr-KU8TYq8_kYPPaIVZg" 
     } 
    }, 
    "mappings": { 
     "diagnosis": { 
      "properties": { 
       "symptom_id": { 
        "type": "string" 
       }, 
       "probability": { 
        "type": "long" 
       }, 
       "casue_id": { 
        "type": "string" 
       }, 
       "doc_type": { 
        "type": "string" 
       }, 
       "model_id": { 
        "type": "string" 
       } 
      } 
     } 
    }, 
    "aliases": [] 
} 

JAVA APIからのコードサンプルを適用し、また、提出された確率は、タイプのロングでないこと。

client.prepareSearch(IndexNames.Model_Symptom_ErrorCodeIndex) 
       .setQuery(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("symptom_id", SymptomID)) 
          .must(QueryBuilders.termQuery("model_id", ModelID))) 

どうしたのですか?

+1

インデックスと検索クエリのサンプルドキュメントを添付することができます – pkhlop

+0

はい、実行しているクエリに言及すると役に立ちます – Richa

+0

私は自分のアプリケーションで使用するもののコードスニペットを追加しました –

答えて

0

実際のインデックスのマッピングに基づいて、私はあなたのマッピングが完全に適用される前にelasticsearchがドキュメントを受け取ることをお勧めします。

実際にはelasticsearchの動的マッピングのように見えます。これは、解析するフィールドと解析すべきフィールドがわからないためです。

することはできdisable dynamic mapping in 1.4がで:一般的に

index.dynamic.mapper: false 

、それは多くの場合、動的マッピングを無効にすることをお勧めします。

関連する問題