0

OR条件フィルターでクエリに別のブーストを与える方法はありますか??? 2 番目のクエリに一致する結果よりも、最初のクエリに一致する結果を確認したいと考えています。

これは私のクエリの一部です:

 {
               "or": [
                            {
                                "query": {
                                    "query_string": {
                                        "query": "(field_state:ALL OR field_state:'WA') AND type:incentive"
                                    }
                                }
                            },
                            {
                                "query": {
                                    "query_string": {
                                        "query": "* AND NOT (type:adcampaign OR type:incentive OR type:page_simple OR type:page OR type:glossary_item OR type:product OR type:lighting_option)"
                                    }
                                }
                            }
                        ]
                    }
4

1 に答える 1

0

ここの ES ドキュメント ( http://www.elasticsearch.org/guide/reference/query-dsl/query-string-query/ ) に基づいて、はい、できます。クエリ タイプboostのリストされたオプションです。query_string

テストされていませんが、次のようなものがうまくいくと思います。

{
    "or": [
        {
            "query": {
                "query_string": {
                    "query": "(field_state:ALL OR field_state:'WA') AND type:incentive",
                    "boost": 10.5
                }
            }
        },
        {
            "query": {
                "query_string": {
                    "query": "* AND NOT (type:adcampaign OR type:incentive OR type:page_simple OR type:page OR type:glossary_item OR type:product OR type:lighting_option)"
                }
            }
        }
    ]
}
于 2013-08-09T17:42:14.810 に答える