SphinxSearch или паук — что выбрать?

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

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

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

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

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

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

Благодарность!


person r2b2    schedule 28.05.2010    source источник
comment
какие преимущества у этих двух инструментов друг над другом??   -  person r2b2    schedule 28.05.2010


Ответы (2)


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

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

person Peter Long    schedule 28.09.2010

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

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

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

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

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

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

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

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

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

person Tyler Long    schedule 11.01.2013