2017-10-22 8 views
0

は、JSONです:elasticsearchで完全一致と部分一致を実行するにはどうすればよいですか?ここ

{ 
"took": 3, 
"timed_out": false, 
"_shards": { 
"total": 5, 
"successful": 5, 
"failed": 0 
}, 
"hits": { 
"total": 2, 
"max_score": 1, 
"hits": [ 
{ 
"_index": "testing", 
"_type": "skills", 
"_id": "AV9FMnRfkEZ90S4dhzF6", 
"_score": 1, 
"_source": { 
"skill": "java" 
} 
} 
, 
{ 
"_index": "testing", 
"_type": "skills", 
"_id": "AV9FM777kEZ90S4dhzF7", 
"_score": 1, 
"_source": { 
"skill": "c language" 
} 
} 
] 
} 
} 

は、私は2つのdcumentsを持っていると私は部分的および完全一致のスキルを取得する必要があります。

部分一致:私は「c」を与えるならば、私は結果「C言語」スキルを取得する必要があります

と仮定する。

入力: C - > C言語

完全一致:

私は "Javaの" を与えるならば、私は結果の "Java" スキルを取得する必要がありますと仮定します。

入力: のJava - > Javaの

答えて

1

はこれを試してみてください。上記のコマンドのための

PUT index 
{ 
    "mappings": { 
    "type": { 
     "properties": { 
     "skill": { 
      "type": "string", 
      "index" : "analyzed", 
      "fields": { 
      "keyword": { 
       "type": "string", 
       "index" : "not_analyzed" 
      } 
      } 
     } 
     } 
    } 
    } 
} 

CURL相当:

curl -XPUT localhost:9200/index -d ' 
{ 
    "mappings": { 
    "type": { 
     "properties": { 
     "skill": { 
      "type": "string", 
      "index" : "analyzed", 
      "fields": { 
      "keyword": { 
       "type": "string", 
       "index" : "not_analyzed" 
      } 
      } 
     } 
     } 
    } 
    } 
}' 

追加書類:上記のコマンドの

POST index/type 
{ 
    "skill":"c language" 
} 

POST index/type 
{ 
    "skill":"java" 
} 

CURL相当:

curl -XPOST localhost:9200/index/type -d ' 
{ 
    "skill":"c language" 
}' 

curl -XPOST localhost:9200/index/type -d ' 
{ 
    "skill":"java" 
}' 

海 によりマッピングを定義しますRCHドキュメント:

部分一致:

GET index/_search 
{ 
    "query": { 
    "match": { 
     "skill": "c" 
    } 
    } 
} 

完全一致:上記のコマンドの

GET index/_search 
{ 
    "query": { 
    "term": { 
     "skill.keyword": "java" 
    } 
    } 
} 

CURL相当:

curl -XGET localhost:9200/index/_search -d ' 
{ 
    "query": { 
    "match": { 
     "skill": "c" 
    } 
    } 
}' 


curl -XGET localhost:9200/index/_search -d ' 
{ 
    "query": { 
    "term": { 
     "skill.keyword": "java" 
    } 
    } 
}' 
+0

私はelasticsearch 1.7.2を使用しています。動いていない 。 –

+0

あなたはあなたのために働いていないものを詳しく教えてもらえますか? –

+0

ES 1.7バージョンの回答を更新しました。これがあなたに役立つかどうかを確認してください。 –

関連する問題