PDA

Просмотр полной версии : API TYPO3 для стороннего индексатора


razawa
15.10.2009, 11:28
Подключаю внешний поисковик.
Для индексации содержимого вижу несколько вариантов:

1. Чисто SQL-запросом пройтись по таблице tt_content и pages
огромный минус этого - далеко не весь контент содержится в tt_content, есть много плагинов.
Но как вариант "быстрой" индексации - вполне рабочий.

2. type=xxx - сделать отдельный шаблон через TypoScript и пройтись по всем страницам.
минус - нагрузка на сервер. Несколько тысяч страниц положат сервер.
Хотя настройками TypoScript можно попытаться минимизировать нагрузку

По пунктам 1,2 вопросов нет.

3. Отдельный php-скрипт. С помощью API TYPO3 выдирать контент страницы по ее id с минимальной обработкой. И делать с ним что хочу.
Вот это самое подходящее решение, но и самое мне непонятное.

Можно ли внешнему скрипту воспользоваться функциями API TYPO3 по получению контента? Но так, чтобы не писать еще один API :)
Какие классы достаточно подключить?

P.S. Индексатору нужно на входе давать php.exe script.php (тоесть коммандную строку)

Valery Romanchev
15.10.2009, 11:43
посмотрите, как Дулепов сделал в экстеншене mnogosearch

razawa
15.10.2009, 12:04
посмотрите, как Дулепов сделал в экстеншене mnogosearch
Точно. Спасибо.
Может и Mnogosearch попробую заодно :)

razawa
24.11.2009, 14:49
Дошли руки. Полазил в экстеншене mnogosearch. Но так как у меня сервер Windows - запустить возможности нет. Только установил и коды поизучал.
Но, что я понял из кодов - там запуск индексатора по ссылкам. То есть нет прямого индексирования контента с помощью функций API. А только генерация всей страницы и потом уже индексирование.

Так что буду еще копать в TYPO3 API. Подключаю tslib_pibase, а вот cObj получить не могу. Ругается на переопределение функций.

Либо сделаю по 2-му варианту.

P.S. Хотя мог не досмотреть и в mnogosearch

Valery Romanchev
24.11.2009, 15:46
Но, что я понял из кодов - там запуск индексатора по ссылкам. То есть нет прямого индексирования контента с помощью функций API. А только генерация всей страницы и потом уже индексирование.

Так что буду еще копать в TYPO3 API. Подключаю tslib_pibase, а вот cObj получить не могу. Ругается на переопределение функций.


tslib_pibase - это не то.

Дело в том, наверное самый эффективный способ для получения контента всей страницы в тайпо3 - это сгенерировать эту страницу обычным образом (или взять ее из кеша, если она кешируется).

razawa
24.11.2009, 16:12
наверное самый эффективный способ для получения контента всей страницы в тайпо3 - это сгенерировать эту страницу обычным образом (или взять ее из кеша, если она кешируется).
Хотелось бы обойти всякие служебные функции. Это же равносильно открытию всех страниц.
А в кеше проверять - это мысль. Нету в кеше - только тогда генерировать. Хоть как-то проще.

То-есть 2 пункт, наверное, будет оптимальным. Ну что ж буду копать в этом направлении.