Stormcrawler - как работает es.status.filterQuery? - PullRequest
0 голосов
/ 25 апреля 2019

Я использую stormcrawler для помещения данных в некоторые индексы Elasticsearch, и у меня есть несколько URL-адресов в индексе состояния с различными состояниями - DISCOVERED, FETCHED, ERROR и т. Д.

Мне было интересно, могу ли я сказать StormCrawler просто сканировать URL-адреса с https и со статусом: DISCOVERED и действительно ли это сработает. Я установил es-conf.yaml следующим образом:

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

Это правильно? как SC использует es.status.filterQuery? Запускает ли он поиск и применяет ли это значение в качестве фильтра для извлечения только соответствующих документов для извлечения?

1 Ответ

1 голос
/ 26 апреля 2019

См. код AggregationSpout .

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

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

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

...