The linkは、多値フィールドでフレーズマッチングを使用すると不思議なことが起こる可能性があると言います。しかし私の場合、フレーズマッチングは多値フィールドと一致しませんでした。不思議なことは起こらなかった。 作成と検索:コード内のフレーズがマルチバリューフィールドと一致しないのはなぜですか?
curl -XPUT http://localhost:9200/my_index/groups/1 -d '
{
"names": [ "John Abraham", "Lincoln Smith"]
}
'
curl -XGET http://localhost:9200/my_index/groups/_search -d '
{
"query": {
"match_phrase": {
"names": "Abraham Lincoln"
}
}
}
'
応答:私は間違っているところ
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": [ ]
}
}
わかりませんか?チュートリアルのように結果を得ることができないのですか?任意のヘルプ/ポインタは非常に感謝しています。
注:このスクリプトは、Elasticsearch 2.1.1、2.4.4、および5.0.1で実行しています。すべての結果は同じです。
match_allクエリを実行して、データが確実に存在するかどうかを確認してください –