0
次のElasticsearch、バージョン2.3のクエリではゼロの結果が得られます。クエリ上から複数の一致フレーズ接頭辞は、Elasticsearchでゼロの結果を返します。
{
"query": {
"bool": {
"must": [
{
"match_phrase_prefix": {
"phone": "123"
}
},
{
"match_phrase_prefix": {
"firstname": "First"
}
}
]
}
}
}
出力:_explain
{
"_index": "index_name",
"_type": "doc_type",
"_id": "_explain",
"_version": 4,
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": false
}
しかし
と上記のクエリの
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
出力、私は私が一致する一つの文書を含む結果を取得するには、次のいずれかを実行するとき上記のクエリの両方の部分。完全な電話番号を含めると、結果に文書が表示されます。
電話番号は、書式設定のない文字列として保存されます。すなわち「1234567890」。
2つの接頭辞クエリがゼロの結果を返す理由は何ですか?
{
"query": {
"bool": {
"must": [
{
"match_phrase_prefix": {
"phone": "123"
}
}
]
}
}
}
{
"query": {
"bool": {
"must": [
{
"match_phrase_prefix": {
"firstname": "First"
}
}
]
}
}
}