如何将ajax请求中的JSON格式过滤器查询发送到elasticsearch

时间:2018-02-10 14:40:24

标签: jquery ajax elasticsearch

我是elasticsearch的新手,我希望在elsticsearch中探索过滤器。我正在向elasticsearch发送以下请求:

 <script type="text/javascript">
    $(function () {
        $("#btnSearch").on("click", function () {
            if ($("#txtSearchAllFields").val() != '') {
                var filter = {
                    "query": {
                        "bool": {
                            "must": [
                                {
                                    "query_string": {
                                        "default_field": "_all",
                                        "query": $ ("#txtSearchAllFields").val()
                                    }
                                }
                            ],
                            "must_not": [],
                            "should": []
                        }
                    },
                    "from": 0,
                    "size": 250,
                    "sort": [],
                    "aggs": {}
                };

                GetEmployee(filter);
            }
        })

    });
    function GetEmployee(filter) {
        $.ajax({
            url: "http://easticsearchserver:9200/empmaster/_search",
            crossDomain: true,
            async: false,
            type: 'GET',
            dataType: 'json',
            data: JSON.stringify(filter),
            contentType: 'application/json',
            success: OnSuccess,
            error: function (data) {
                console.log(data);
            }
        });
    }

    function OnSuccess(data) {
        console.log(data);
        $(data.hits.hits).each(function (index, hit) {

        });
    };
</script>

但我收到错误的请求错误。

请告诉我如何使用此请求发送此json查询。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,在ajax请求方法中我正在使用&#34; GET&#34;但它应该是&#34; POST&#34;。 问题现在解决了。

谢谢大家。