Stormcrawler - как работает es.status.filterQuery?

Я использую Stormcrawler для помещения данных в некоторые индексы Elasticsearch, и у меня есть несколько URL-адресов в индексе статуса с различными статусами - ОБНАРУЖЕН, ИЗБРАННО, ОШИБКА и т. Д.

Мне было интересно, могу ли я сказать StormCrawler просто сканировать URL-адреса, которые являются https и со статусом: ОБНАРУЖЕНО, и будет ли это действительно работать. У меня es-conf.yaml установлен следующим образом:

es.status.filterQuery: "-(url:https* AND status:DISCOVERED)"

Это верно? как SC использует es.status.filterQuery? Выполняет ли поиск и применяет ли это значение в качестве фильтра, чтобы получить только те документы, которые нужно выбрать?


person jimmat    schedule 25.04.2019    source источник


Ответы (1)


См. код AggregationSpout.

как SC использует es.status.filterQuery? Выполняет ли он поиск и применяет ли значение в качестве фильтра, чтобы получить только те документы, которые нужно выбрать?

да, он фильтрует запросы, отправленные на шарды ES. Это полезно, например, для обработки подмножества сканирования.

Это положительный фильтр, т. Е. Документы должны соответствовать запросу, чтобы их можно было извлечь; вам нужно удалить - чтобы он сделал то, что вы описали.

person Julien Nioche    schedule 26.04.2019