@romany4

Sphinx. Как организовать исключение поиска из основного индекса при обновлении rt?

Имеется 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-индексе
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Храните все в рт индексе
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы