Задать вопрос

Sphinx, realtime index, поиск числа «10» в тексте жутко тормозит

В индексе около 900К объектов.
из них 500К — адреса (КЛАДР/ФИАС)

Если я ищу «Москва*», «Тюмень* Респ*» и т.п. — ищет быстро = 20..100 мс
Запросы: «25*», «99*», «1000*» — тоже быстро.

! Но если искать «10*» или «100*», то поиск доходит до 20 сек — это медленнее в 200 раз,
в чем может быть проблема?

Запрос такой:
select id from crm1f where match(«100*») and otype=163 order by when desc limit 0, 15;

Конфиг:
index crm1f
{
                type = rt
                rt_mem_limit = 512M

                path = /var/data/sphinx/crm1f
                charset_type = utf-8

                rt_field = content
                rt_attr_uint = otype
                rt_attr_uint = is_removed
                rt_attr_timestamp = when

                morphology = none

                dict = keywords
                min_prefix_len = 2
                enable_star = 1
}


Вот что выдает «SHOW META;»:
Запрос «10*»
{'Value': u'1000', 'Variable_name': u'total'}
{'Value': u'20756', 'Variable_name': u'total_found'}
{'Value': u'20.207', 'Variable_name': u'time'}
{'Value': u'10', 'Variable_name': u'keyword[0]'}
{'Value': u'36017', 'Variable_name': u'docs[0]'}
{'Value': u'58244', 'Variable_name': u'hits[0]'}
... и ещё 27тыс подобных строк


Если смотреть на кол-во вхождений, то:
Запрос "10*", total_found=20756; 20 сек
Запрос "100*", total_found=683; 15 сек
Запрос "25*", total_found=7244; 0.14 сек

Sphinx 2.0.5-release (r3308; Jul 28, 2012)

Что не так, что можно сделать?
  • Вопрос задан
  • 4207 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
А почему они у вас в реалтайм индексе оказались?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы