我一直在尝试使用elasticsearch过滤那些在其主体中包含空字符串的文档.到目前为止,我没有运气.
在我继续之前,我应该提一下,我已经尝试过围绕Interwebz和StackOverflow传播的许多 "解决方案".
所以,下面是我正在尝试运行的查询,后跟其对应项:
{
"query": {
"filtered":{
"filter": {
"bool": {
"must_not": [
{
"missing":{
"field":"_textContent"
}
}
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过以下方法:
{
"query": {
"filtered":{
"filter": {
"bool": {
"must_not": [
{
"missing":{
"field":"_textContent",
"existence":true,
"null_value":true
}
}
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
以下内容:
{
"query": {
"filtered":{
"filter": {
"missing": {"field": "_textContent"}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
以上都没有奏效.当我确定有包含空字符串字段的记录时,我得到一个空结果集.
如果有人能给我任何帮助,我将非常感激.
谢谢!
elasticsearch版本1.4.5
kibana 4.1.1
logstash 1.5.2-1
如何在kibana 4的discover选项卡中构建搜索,只有在字段存在但不等于特定值时才返回结果?
我在logstash中有一些apache日志数据,我想返回已status_code定义但不等于200的所有条目.因此,如果可能的值为{undefined,200,403,404,500 等},我希望看到所有变体4xx和5xx错误,但没有定义字段的消息,而不是设置为200的消息.
我尝试过以下方法:
+status_code: (*) -status_code: (200)
((status_code: (*) AND NOT status_code: (200))
Run Code Online (Sandbox Code Playgroud)
我也看到了对elasticsearch curl查询的引用,但我不知道如何将它们变成我可以在kibana搜索栏中使用的东西.这是一个例子:
{
"query": {
"constant_score": {
"filter": {
"bool": {
"must": {
"exists": {
"field": "status_code"
}
},
"must_not": {
"term": {
"status_code": '200'
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我是 ES 新手,我正在使用 ES 7.10.1,我有以下简单的搜索请求:
GET /megacorp/_doc/_search
{
"query":{
"filtered":{
"filter":{
"range":{
"age":{
"gt":30
}
}
},
"query":{
"match":{
"last_name":"smith"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我在Kibana Dev Tools中运行上述查询(使用查询和过滤器)时,出现如下异常,请问如何解决这个问题,谢谢。
{
"error" : {
"root_cause" : [
{
"type" : "parsing_exception",
"reason" : "unknown query [filtered]",
"line" : 3,
"col" : 14
}
],
"type" : "parsing_exception",
"reason" : "unknown query [filtered]",
"line" : 3,
"col" : 14,
"caused_by" : {
"type" : "named_object_not_found_exception",
"reason" : "[3:14] unknown field [filtered]"
}
}, …Run Code Online (Sandbox Code Playgroud)