2013-09-14 3 views
-1

В настоящее время мы используем Apache Solr в качестве поисковой системы и Apache Nutch в качестве сканера. Теперь мы создали сайт сайта, который содержит продукты, которые генерируются динамически.Apache Nutch Crawl Dynamic Products

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

Не могли бы вы посоветовать мне, как сканировать и индексировать динамический продукт на странице в Apache Solr? Можем ли мы это сделать с помощью файла Sitemap.xml, если да, то предложите, как?

Спасибо!

ответ

0

Одно из возможных решений заключается в следующем:

Шаг 1) описание каждого динамического продукта в своей собственной странице. например, http://domain/product?id=xxx (или с более дружественным адресом, например http://domain/product-x).

Шаг 2) Вам нужна страница или несколько страниц, на которых перечислены URL-адреса этих продуктов. Указанный файл sitemap.xml является одним из вариантов, но достаточно простой страницы html. Так, например, вы можете динамически генерировать страницу с именем products_list, которая содержит такие строки: <a href="http://domain/product?id=xxx">Product x</a>.

Шаг 3) Вы должны либо добавить url страницы products_list к вашему файлу семян nutch, либо добавить ссылку на него на одной из уже обходных страниц.

+0

На самом деле, динамический продукт не имеет самого URL. Tha получил выбор с помощью вызова AJAX. Ниже приведен пример. Здесь вы можете разные продукты. Пожалуйста, расскажите, как я сканирую и индексирую их в Apache Solr. http://www-hk.mcdonalds.com/hk/en/food/a-la-carte-explorer-view/burgers-explorer-view.html Когда вы нажимаете «Просмотр списка», вы получите продукт Список в списке и URL будет выглядеть следующим образом: http://www-hk.mcdonalds.com/hk/en/food/a-la-carte-list-view/burgers-list-view.html Спасибо! – Kuldeep

+0

Хорошо, это сложнее, чем я думал. Для вызовов ajax вы должны искать свою цель. Например, на этом конкретном сайте он фактически считывает свой список из этого URL-адреса, используя вызов ajax: 'http://www-hk.mcdonalds.com/content/hk/en/food/a-la-carte-list- просмотр/гамбургеры-список-view.hk_nutri.list.6 | 7 | 8 | 9 | 10 | 11 | .en.html'. Таким образом, вы должны ввести этот url для nutch. Кроме того, поскольку у вас нет отдельной страницы для каждого продукта, вам нужно написать плагин nutch (плагин HtmlParseFilter), чтобы проанализировать эту страницу и в этом плагине создать несколько документов. – tahagh

+0

У меня нет большого опыта работы с java. Не могли бы вы помочь мне с новым документом или ссылкой? Кроме того, имеется встроенная конфигурация, доступная в nutch для выполнения вышеуказанных требований. Я имею в виду, можно ли это сделать, изменив настройки уровня. В настоящее время я использую Nutch Versio 1.6! – Kuldeep

Смежные вопросы