ajax 弹性搜索查询

elasticsearch query with ajax

我运行查询并在 marvel 插件中得到结果,如图所示:

我想在我的网络应用程序中使用 ajax 请求这是我的一段代码

var query = "{'query': {'wildcard': {'heroname': {'value': '*dr*'}}}}";

                                $.ajax({
                                    url: "http://localhost:9200/dota2/_search?" + query,
                                    dataType: "json",
                                    type: "GET",
                                    success: function (data) {
                                        debugger
                                        alert("Success do your stuff!");
                                    },
                                    error: function (a, b, c) {
                                        debugger
                                        alert("Server Internal Error!");
                                    }
                                })

它成功了,但是 returns 很多结果..我找不到它的原因。但我复制请求已从客户端发送到弹性并将其粘贴到浏览器然后这里是 json 数据作为响应来我的 ajax 成功:

我希望在 marvel 插件中只有 1 json 数据,但它 returns 我索引中的所有数据所以我认为通配符查询被忽略了,但为什么呢?或者等等?

如果您想在 GET 调用的查询字符串中传递您的搜索查询,您需要在 source parameter.

中传递它
$.ajax({
    url: "http://localhost:9200/dota2/_search?source=" + query,
    ...                                        ^
                                               |
                                   add source parameter here