我尝试使用我在Kibana3仪表板上的精确过滤从elasticsearch获取数据,并且由于某种原因无法使其有意义。
这是我尝试针对ES运行并且没有结果的查询:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool" : {
"must" : [
{ "term" : { "domain_name.raw": "foo.bar" } },
{ "term" : { "method": "get" } }
],
"should" : {
"or" : [
{
"term" : { "pathname.raw" : "/xxxxx" }
},
{
"term" : { "pathname.raw" : "/yyyyy" }
},
{
"term" : { "pathname.raw" : "/zzzzz" }
}
]
}
}
}
}
}
}
我已经开了几个小时,但却无法让它发挥作用。 当我删除其中一个必须条款(domain_name或方法)时,我会得到结果。但那时我并不完全是我需要的过滤...... 我知道哪里出错了?
答案 0 :(得分:0)
看起来你的语法有些偏差,使用<div id="wl-container"></div>
<script>
(function (s, k, y) {
var l = s.createElement("script");
l.src = k + "/js/client.js"; l.async = 1;
l.onload = function () { y({ serviceBase: k }); };
var t = s.getElementsByTagName("head")[0]; t.appendChild(l);
})(document, "//whitelabel.api.skyscanner.net", myCallback);
function myCallback(options) {
var whitelabel = new Skyscanner.Flights.Whitelabel({
serviceBase: options.serviceBase,
customerId: "testwl46"
});
whitelabel.create("wl-container", {
market: "UK",
locale: "en-GB",
currency: "GBP",
originPlace: "EDI",
destinationPlace: "LON",
outboundDate: "2014-03-10",
inboundDate: "2014-04-10"
});
}
</script>
时你不需要使用should
,试试这个:
我尝试使用我在Kibana3仪表板上的精确过滤从elasticsearch获取数据,并且出于某种原因无法使其有意义。
这就是我在Kibana(返回文档)上的内容:kibana过滤器
这是我尝试针对ES运行并且没有结果的查询:
or