How to update Sphinx core and delta indexes

I read the Sphinx documentation and various resources, but I am confused by the process of maintaining basic and delta indexes. Please let me know if this is correct:

  • There is a table that splits the search index into last_update_time (NOT id, as in the tutorial http://sphinxsearch.com/docs/1.10/delta-updates.html )

  • Delta index update every 15 minutes. The delta index captures only those records that have been updated> last_update_time :

     indexer --rotate --config /opt/sphinx/etc/sphinx.conf delta 
  • Updating the main index every hour by merging the delta with:

     indexer --merge main delta --merge-dst-range deleted 0 0 --rotate 

SQL preliminary query updates last_update_time to NOW() , which redistributes indexes

Confusion: will merge run SQL query?

  • After updating the main index, immediately update the delta index to clear it:

     indexer --rotate --config /opt/sphinx/etc/sphinx.conf delta 

EDIT: How would I delete entries even to work? Since the delta index will contain deleted records, will records be deleted only from search queries after the delta index is combined into the main one?

+4
source share
1 answer

To handle the deletion, you need to look at the list of killers, it basically defines the deletion criteria:

http://sphinxsearch.com/docs/manual-1.10.html#conf-sql-query-killlist

In one example, we create our main daily, early morning, and then just run a delta update (including killlist) every 5 minutes.

In the merger, I'm not sure, since I have never used it.

+2
source

Source: https://habr.com/ru/post/1334872/


All Articles