私は正しいフィルタを設定するには、問題をしたため、正しいフィルタを作成することはできません。クエリは次のようになります。は私のelasticsearchクエリ
{
"query" : {
"bool" : {
"must" : [
{
"query_string" : {
"query" : "example~",
"analyzer" : "standard",
"default_operator" : "OR",
"fuzziness" : "AUTO"
}
},
{
"term" : {
"client" : {
"value" : "MyClient",
"boost" : 1
}
}
},
{
"range" : {
"dateCreate" : {
"gte" : "2016-01-01T00:00:00+0200",
"lte" : "2016-12-31T23:59:59+0200"
}
}
},
{
"match" : {
"lang" : "php OR java"
}
}
]
}
},
"size" : 10,
"from" : 0,
"sort" : [
{
"_score" : {
"order" : "desc"
}
}
]
}
"lang"フィールドはテキストタイプです。
私の期待は、与えられたクエリ文字列を持つすべての文書を取得することですし、私は彼らのLANGフィールドに「PHP」または「ジャワ」を持つ文書のみを選択します。 langフィールドには「PHP」または「Java」のいずれかしか含まれていませんが、両方の文字列が含まれていないので、正確なマッチングを使用することを考えましたが、動作させることはできません。
結果は実際には2つの文書のリストですが、total_count = 2510です。一致していない私の文書の
一つは:
{
"id" : "d3295f18-a033-4934-941a-21a8bef901e8",
"client" : "MyClient",
"lang" : "PHP",
"author" : null,
"dateCreate" : "2016-03-31T00:00:00+0200",
"title" : "Sample document",
"content" : "This is a short text describing the deocument."
}
あなたは 'OR'を削除するとどうなりますか? – Val
まったく同じ:私は2つの結果を得ていますが、リストには約2,000の文書が必要です。 – altralaser
一致するはずのサンプルドキュメントを表示できますか?ドキュメントのマッピングも表示できますか? – Val