Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 09.11.2010, 20:40   #1
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию Поиск по сайту и новости

Привет.
Пытаюсь подружить индексный поиск (indexed_search) и новости (tt_news).
На форуме этот вопрос периодически поднимается, но полностью работающего решения я не нашел. Впрочем как не заработали решения и из других источников.
Предлагаю сделать полный вариант решения и перенести его в FAQ.
Итак, что было сделано:
1. Установлен indexed_search из TER, добавил в TS корня сайта
Код:
page.config.index_enable = 1
2. Установлен crawler из TER (не уверен, что он нужен с нынешней версией поисковика, где есть какие то настройки типа шедулера!?)
3. В корне сайта сделана запись: Crawler Configuration, в которой указан: Base url, Processing instruction parameters:
Код:
tt_news = &tx_ttnews[tt_news]=[_TABLE:tt_news;_PID:3]
  tt_news.procInstrFilter = tx_indexedsearch_reindex, tx_cachemgm_recache
  tt_news.cHash = 1
  tt_news.pidsOnly = 4
4. В TS корня сайта дополнительно вставлено следующее:
Код:
# taken from the crawler-docu, p. 8
tx_crawler.crawlerCfg.paramSets {
  language = &L=[|_TABLE:pages_language_overlay;_FIELD:sys_language_uid]
  language.procInstrFilter =tx_indexedsearch_reindex, tx_indexedsearch_crawler
  language.baseUrl = http://www.mysite.ru/
}
 
#for tt_news from #http://typo3.toaster-schwerin.de/typo3_english/2006_05/msg00355.html
#_PID:3 is the sysfolder with the news records
#pidsOnly = 4 is the page with the news singeview.
tx_crawler.crawlerCfg.paramSets {
  tt_news = &tx_ttnews[tt_news]=[_TABLE:tt_news;_PID:3]
  tt_news.procInstrFilter = tx_indexedsearch_reindex, tx_cachemgm_recache
  tt_news.cHash = 1
  tt_news.pidsOnly = 4
}
5. Все Новости лежат в sysfolder'e и при попытке запуска crawler напротив всех sysfolder'ов вижу: No entries (Because doktype is not allowed). Где разрешить этот тип страниц для индексирования - не нашел.
wiki изучил, но не нашел ответа. Есть только хук для запрещения индексации конкретного doktype:
Код:
excludeDoktype Hook
By adding doktype ids to following array you can exclude them from being crawled:
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['crawler']['excludeDoktype'][] = <dokTypeId>
6. В корне сайта сделана запись "Конфигурация индексирования":
Указаны:
Индексируемые таблицы: Новости
Альтернативный страницы: Указан sysfolder с новостями.
Строка параметер GET (с заменой ###UID###):
Код:
&tx_ttnews[tt_news]=###UID###
7. В TS sysfolder'a с новостями пробовал указать ч
Вот вопросы, которые меня интересуют в настоящий момент:
1. Нужен ли crowler или переиндексация будет осуществляться средствами indexed_search?
2. Реально ли индексировать sysfolder'ы или придется менять тип страницы?
3. Есть ли в природе описание нужного мне процесса настройки поисковика?
4. Что я сделал неверно, или не сделал?

Заранее благодарю.
Илья вне форума   Ответить с цитированием
Старый 21.01.2012, 23:15   #2
Grank
Продвинутый
 
Регистрация: 10.10.2005
Сообщений: 92
По умолчанию

4. Не совсем понятен смысл "запуска crawler напротив всех sysfolder'ов ".
Вы что собираетесь чтобы в результатах поиска у вас была ссылка на sysfolder?
Думаю что нет. Запускайте crawler со страницы отображения отдельной новости и если все правильно сконфигурено, то проблем не возникнет.
Grank вне форума   Ответить с цитированием
Старый 22.01.2012, 00:34   #3
Илья
Senior Member
 
Регистрация: 15.02.2006
Адрес: Петербург
Сообщений: 462
По умолчанию

Grank
Благодарю за ответ!
До сих пор так и не понимаю нужен ли Crawler в виде отдельного экста, или в новом индексном поиске свой встроен...
Как-то проблема не возникала снова, ну и слава богу!
Илья вне форума   Ответить с цитированием
Старый 22.01.2012, 20:59   #4
Grank
Продвинутый
 
Регистрация: 10.10.2005
Сообщений: 92
По умолчанию

Сам по себе crawler не занимается индексированием. Его задача сгенерить urls и запустить IndexedSearch для индексирования этих сгенеренных urls по крону.

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

Решать нужен ли Crawler или нет Вам.
Вот случай н-р когда он не помешает. Устанавливаем IndexedSearch на работающий сайт с большим количеством страниц или новостей. В таблицах IndexedSearch-а еще ничего нет, поэтому для того чтобы заработал поиск нужно либо самому открывать каждую страницу (чтобы IndexedSearch ее проиндексировал), либо ждать пока это сделают пользователи. Задача усложнится когда у вас на сайте несколько групп пользователей, которые имеют ограничения на доступ к тому или иному контенту.
Grank вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по сайту Никита Общие вопросы 21 27.04.2011 22:55
поиск tt_news Lucifer Общие вопросы 2 07.03.2011 12:47
Новости, проблема ivfrogy TypoScript практикум 4 18.01.2007 09:26
Поиск по сайту Sonsay Общие вопросы 1 13.01.2006 13:59
Поиск Сергей Общие вопросы 2 29.03.2005 18:24


Часовой пояс GMT +4, время: 00:25.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория