Сведения о вопросе

FromRussia

21:06, 1st October, 2020

Как организовать поиск по 10 млн. документов?

Просмотров: 330   Ответов: 8

Есть сайт. В MySQL БД хранится порядка 10 000 000 записей.

Нужно сделать полнотекстовый поиск + что бы поиск был релевантным.


Использование поискового движка не спасает. Уже при 1 млн. задержка выдачи результатов с помощью ApacheSolr несколько секунд.

Пытались смотреть на www.elasticsearch.org и вообще связки с NoSQL (HSearch), но решения способного давать релевантную выдачу за приемлемое время не нашли. Вернее варианты есть, но пришлось бы реализовывать логику подсчета релевантности самим, для всех типов записей, а хотелось бы чего-нибудь готового.



  Сведения об ответе

screen

03:33, 3rd August, 2020

sphinxsearch.com


  Сведения об ответе

screen

06:06, 6th August, 2020

Спасибо за информацию. Устроим тест-драйв сфинксу, тогда станет понятно подойдет ли он нам…


  Сведения об ответе

VCe znayu

21:50, 7th August, 2020

До 100 запросов в секунду держит сфинкс.


  Сведения об ответе

SEEYOU

22:26, 14th August, 2020

В рамках поставленного вопроса, да сфинкс скорее всего бы спас.

Но ввиду того, что приложение на PHP + MySQL с таким объемом может не справиться, видится необходимость добавления NoSQL. И как следствие хотелось бы найти самый простой способ объединения NoSQL и поискового движка.
Идеальной была бы связка NoSQL + Search таким образом что бы поисковик отдавал список ключей по релевантности, а сами документы уже потом тянуть из NoSQL.


  Сведения об ответе

dump

02:29, 26th August, 2020

Xapian например


  Сведения об ответе

DAAA

21:08, 5th August, 2020

Яндекс для сервера, как вариант.


  Сведения об ответе

KOMP

16:46, 15th August, 2020

Мы для этой цели использовали Lucene


  Сведения об ответе

piter

05:39, 3rd August, 2020

Использование поискового движка не спасает. Уже при 1 млн. задержка выдачи результатов с помощью ApacheSolr несколько секунд.

Вы что-то делаете не так.
  • сколько индекс занимает на жестком диске?
  • сколько памяти выделяете под виртуальную машину и сколько соотв-но остается под файловый кеш операционной системы?
  • какое кол-во документов возвращает поисковый запрос?
  • есть ли какие-то хитрые штуки вроде группировки документов или подсветки ключевых слов на огромных документах


Ну в вообще, если документы не огромные, то обьем вполне реальный, и даже не требует распределенного индекса, при увеличении нагрузки можно обойтись и репликацией.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться