/bdb

Primary LanguagePHP

bdb - (Proof of Concept) агрегатор данных в MongoDB коллекции.

Суть - возможность использовать простое и единообразное апи для работы с динамическими данными, как с статическими.

Коллекции:

  • people - ФИО, контакты, должности и прочая открытая идентифицирующая информация
  • host - хосты, идентифицируемые по IPv4 - порты, заголовки и пр
  • company - открытая информация по компаниям
  • fragment - то, что пока не может быть идентифицированно (например, анонимный профиль)

Поля, ссылающиеся на другие документы в этих коллекциях, имеют имя inner_{имя_коллекции}, например inner_host

Агрегатор

Получает данные из декларативно описанных источников. Пример:

http_test:
  description: Котировки с Яндекса за 10 последние дней
  expire: 1m
  type: http
  format: html
  url: https://news.yandex.ru/quotes/1.html
  datasets:
    price: td.quote__value
    name: td.quote__change

При запросе данных этого источника в файловом кэше сохраниться два датасета (массивы значений) price и name. Если в течении 1 минуты сделать ещё один запрос, данные будут получены из кэша. Можно навечно сохранить в кэше(expire: never) или всегда обращаться за актуальной информацией(expire: always) Подробнее см. Bdb\Source.php

Маппер

Маппер связывает датасеты с конкретными полями документов, что позволяет полностью или частично актуализировать документ, собранный из разных источников и просматривать эти источники.

Использование

TODO

vk

all permissions for 4664424 app:

https://oauth.vk.com/authorize?client_id=4664424&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=268435455&response_type=token&v=5.52

напилить настраиваемые фильтры на датасеты, чтобы в маппинг не попадал мусор пофиксать проблему с кодировками