2016-03-19 2 views
0

Как фильтровать документы в elasticsearch 2.2 перед выполнением запроса. Я ссылался на эту страницу, но не смог создать правильный запрос.Фильтр в elasticsearch 2.2

https://www.elastic.co/guide/en/elasticsearch/reference/2.2/query-filter-context.html

{ 
"size" : 9999, 
"query" : { 
"bool" : {  
    "filter" : { 
    "bool" : { 
     "must" : [ { 
     "exists" : { 
      "field" : "dvd" 
     } 
     } ] 
    } 
    }, 
    "should" : [{ 

    "bool" : { 
     "must" : [ { 
     "match" : { 
      "rec" : { 
      "query" : "CKS", 
      "type" : "boolean" 
      } 
     } 
     }, { 
     "match" : { 
      "date" : { 
      "query" : "2016-03-09", 
      "type" : "boolean" 
      } 
     } 
     } ] 
    } 

    }] 
} 
    } 
} 

Это то, что я пытаюсь сделать .. Я имею много статей с Следует ли каждый из которых имеет п 2 Must. Любое предложение должно соответствовать запросу для получения документа. Я включил только один пункт, чтобы сделать его простым. Запрос работает отлично. Я хочу применить фильтр к этому. Отфильтруйте документы перед запросом. Но это не работает.

Я использую Elasticsearch 2.2 ... Пожалуйста, дайте мне знать, как фильтровать документы в этой версии elasticsearch.

Я думаю, фильтр почты предназначен для разных целей.

ответ

1

предложит внести изменения в часть фильтра запроса bool. Вы можете передать массив элементов фильтра. Было бы чем стать: { "filter" : [ { "exists": { "field" : "dvd" } } ] }

+0

Что делать, если я хочу применить два существующих фильтра в состоянии ИЛИ. т.е.), если существует какой-либо из полей в существующем фильтре, отфильтруйте документ. Не нужно иметь оба поля. – user2526641

0

Что касается вашего замечания по вопросу Jettro в:

Вы можете использовать BOOL запрос/фильтр внутри фильтра блока BOOL запроса, как так:

{ 
    "query": { 
    "bool": { 
     "filter": { 
     "bool": { 
      "should": [ 
      { 
       "exists": { 
       "field": "dvd" 
       } 
      }, 
      { 
       "exists": { 
       "field": "album" 
       } 
      } 
      ] 
     } 
     } 
    } 
    } 
} 

Теперь документы с либо поле DVD, либо поле альбома будут возвращены.

Смежные вопросы