2

Ajax 呼び出しで以下の POST 要求を使用していますが、検索条件を追加できません。また、特にワイルドカードを使用して、他の多くのフィールドを検索できるようにしたいと考えています。例 "j*" の firstName と "p*" の lastName。このタイプのクエリにさらに 2 つの条件を追加するにはどうすればよいでしょうか。GET リクエストのときに curl リクエストで行う方法は知っていますが、POST リクエストとして行う方法はわかりません。

GET リクエストでは、以下を追加するだけです。

+%2bfirstName:j*

POSTリクエスト

{
    "query": {
        "filtered": {
            "query": {
                "range": {
                    "date": {
                        "include_lower": true,
                        "include_upper": false,
                        "from": "1999-01-01",
                        "to": "2002-01-01"
                    }
                }
            },
            "filter": {
                "term": {
                    "locationNumber": "453"
                }
            }
        }

    }
}
4

1 に答える 1

3

bool queryを使用して、クエリでいくつかの条件を組み合わせることができます。例えば:

{
    "query": {
        "filtered": {
            "query": {
                "bool": {
                    "must": [
                        {
                            "range": {
                                "date": {
                                    "include_lower": true,
                                    "include_upper": false,
                                    "from": "1999-01-01",
                                    "to": "2002-01-01"
                                }
                            }
                        },
                        {
                            "wildcard": {
                                "firstName": "j*"
                            }
                        }
                    ]
                }
            },
            "filter": {
                "term": {
                    "locationNumber": "453"
                }
            }
        }

    }
}
于 2013-01-16T14:42:02.193 に答える