Имеется 3 индекса
index sql_client_inter_comment_index
{
source = client_inter_comment
path = /var/lib/sphinxsearch/indexes/client_inter_comment_sql
.....
}
index rt_client_inter_comment_index
{
type = rt
path = /var/lib/sphinxsearch/indexes/client_inter_comment_rt
rt_field = comment
....
rt_mem_limit = 128M
}
index client_inter_comment_index
{
type = distributed
local = sql_client_inter_comment_index
local = rt_client_inter_comment_index
}
Приложение всегда обращается к distributed-индексу
select * from client_inter_comment_index ....
Ситуация
В основном индексе имеется запись
+------+---------+----------------+---------+
| id | comp_id | comp_client_id | comment |
+------+---------+----------------+---------+
| 1 | 1 | 47 | тестирование |
Rt-индекс пока пуст.
Далее, через приложение редактируется данная запись, так что, допустим "тестирование" заменяется на "приемка".
После редактирования данной записи в rt-индексе имеем
+------+---------+----------------+---------+
| id | comp_id | comp_client_id | comment |
+------+---------+----------------+---------+
| 1 | 1 | 47 | приемка |
Индексация основного индекса происходит раз в сутки, как и сброс rt -индекса.
Вопрос
Как при поиске фразы "тестирование" не выдавать запись с id = 1, до момента переиндексации?
select * from client_inter_comment_index where MATCH ('@тестирование*');
Запрос выше честно выдаст строку с id =1, но ведь данные для этой строки были изменены, и эти изменения хранятся в rt-индексе