Reply Pilot Search

Tato stranka popisuje modul reply-pilot-search/.

Role modulu

  • provozuje Solr index uvnitr samostatneho moduloveho kontejneru
  • vystavuje interni HTTP API GET /api/search
  • pravidelne synchronizuje index z reply-pilot-db
  • vraci vysledky s url_path, aby web aplikace mohla otevrit detail objektu

Runtime

  • modul bezi jako interni HTTP sluzba na siti reply-pilot-internal
  • aplikace ho vola pres http://reply-pilot-search:5000
  • operatorum publikuje host port HOST_HTTP_PORT, defaultne http://127.0.0.1:9093
  • Solr admin UI a Solr HTTP API publikuje na HOST_SOLR_PORT, defaultne http://127.0.0.1:9094/solr/
  • kontejner bezi jako non-root uzivatel pres HOST_UID a HOST_GID
  • aktivni log modulu je reply-pilot-search/logs/reply-pilot-search.log
  • Solr data, heartbeat a sync state jsou v reply-pilot-search/data/
  • GET /healthz vraci stav HTTP vrstvy, Solr procesu i posledniho syncu
  • oba host porty jsou defaultne bindnute jen na 127.0.0.1; verejne vystaveni ma jit az pres vedome nastaveny bind nebo pres kontrolovanou reverse proxy vrstvu

Indexovany obsah

  • company: organizace z party modelu
  • person: osoby z party modelu
  • email: zaznamy z activity_email
  • activity: note, call a meeting zaznamy z activity modelu

Search preferuje emailove zaznamy a umi filtrovat podle typu objektu. Dotazova syntaxe Solru podporuje i AND, OR, NOT, uvozovky a prefix *.

Synchronizace

  • sync bezi v intervalu SEARCH_SYNC_INTERVAL_SECONDS, defaultne kazdych 5 sekund
  • modul cte z reply-pilot-db a do Solru posila jen rozdily oproti poslednimu syncu
  • heartbeat se uklada do data/search-heartbeat.json
  • otisk posledniho indexovaneho stavu se uklada do data/search-sync-state.json