SphinxSearch или паук - какой выбрать? - PullRequest
2 голосов
/ 28 мая 2010

Мы владеем SiteA и SiteB, и они совместно используют один и тот же сервер и базу данных, где мы имеем полный контроль. SiteC, siteD и siteE - это некоторые из сайтов, которыми мы владеем, но которые находятся на разных веб-хостах.

Целью является создание единого поискового функционала для всех сайтов, упомянутых выше. То есть, если кто-то ищет термин в SiteA, в результате поиска автоматически появляются результаты из SiteB, SiteC, SiteD и Site E. Результаты поиска должны отображаться на сайте, на котором они были найдены.

Все содержимое этих веб-сайтов хранится в собственных базах данных.

Если я использую SphinxSearch для индексации вышеупомянутых сайтов, мне потребуется, чтобы те сайты, с которыми мы не имеем полного контроля, настроили веб-службу, где я мог бы загрузить дамп базы данных или файл CSV для индексации.

Я не совсем уверен в том, как сфиндер вступит в игру, поэтому нужно ваше мнение.

Сфинкс или паук?

спасибо!

Ответы [ 2 ]

0 голосов
/ 11 января 2013

Sphinx - это решение для полнотекстового поиска, в то время как паук предназначен для извлечения содержимого из Интернета. Они не являются заменой друг другу. Даже если вы используете паука, вам все равно придется использовать программное обеспечение для полнотекстового поиска, например, sphinx или lucene / solr. Поэтому сначала нужно принять решение: хочу ли я использовать sphinx для поиска? Если ответ «да», то остается только одно: как я могу проиндексировать содержимое для поиска?

sphinx поддерживает использование базы данных или XML в качестве источника данных. База данных как источник данных более популярна, потому что подготовка и обновление документов XML в определенном формате очень утомительна (по сравнению с ведением таблицы базы данных). Итак, я думаю, наконец, вы должны сохранить все данные в базе данных. Как вы описали, все данные готовы в базах данных, но некоторые базы данных находятся вне вашего контроля. Для вашей собственной базы данных проблем нет. Для баз данных, которые находятся вне вашего контроля, я предлагаю вам использовать распределенный поиск сфинксов: http://sphinxsearch.com/docs/2.0.6/distributed.html

Ключевой идеей является горизонтальное разбиение (HP) данных поиска по искать узлы, а затем обрабатывать их параллельно.

Разметка производится вручную. Вы должны

настроить несколько экземпляров программ Sphinx (indexer и searchd) на разные серверы;

делает экземпляры индексации (и поиска) различных частей данных;

настроить специальный распределенный индекс для некоторых поисковых запросов экземпляры;

и запросить этот индекс.

Этот индекс содержит ссылки только на другие локальные и удаленные индексы. - поэтому его нельзя переиндексировать напрямую, и вам следует переиндексировать те индексы, на которые он ссылается.

0 голосов
/ 28 сентября 2010

Если вы можете попросить владельца других веб-сайтов предоставить вам контент бесплатно, тогда паук не нужен. Просто используйте sphinxsearch для индексации содержимого.

Если вы не можете получить контент непосредственно от них, паук - единственный выбор для вас. Есть немного, чтобы думать об этой проблеме.

...