Поиск на сайте
Здравствуйте!
Пытаюсь организовать поиск. Как я понял, существует 2 возможности: модуль индексированного поиска и "стандартная" поисковая форма из styles.content.searchform Вопрос вот в чем.. Не могу докопаться до полей индексированного поиска для того, чтобы перевести их на русский. В идеале хотелось бы просто сделать поле и свою картиночку-кнопочку. Без всяких линков расширенных поисков или дропдаунов "где искать". В индексированном не найду никак где все это отключить, а в "обычном" - как заставить отобразить результаты на отдельной странице.. Вообще, хотелось бы настроить индексированный поиск как более быстрый и полный.. Не подскажете, как его правильно и полностью настроить? С Уважением. |
Сделать отображение поисковой формы с помощью TS или темплейтами невозможно, как я понял.. Там в коде, вроде, у модуля прямо пробито... Попробовал выкрутиться так:
Добавил руками код <form action="index.php?id=41" method="POST" name="tx_indexedsearch"> <input type="hidden" name="tx_indexedsearch[_sections]" value="0"> <input type="hidden" name="tx_indexedsearch[pointer]" value="0"> <input type="hidden" name="tx_indexedsearch[ext]" value="0"> <input type="text" name="tx_indexedsearch[sword]" value=""> <input type="submit" name="tx_indexedsearch[submit_button]" value="Искать!"> в страницу. Вроде, чего-то делает, но вот беда: он ничего не ищет! И даже если я кладу модуль индексированного поиска на страницу стандартно - и он все равно не ищет. в Setup веди типа page.config.index_enabled = 1 я прописал, индексатор индексирует, но - не ищет... А стандартная поисковая форма отчего-то отказывается искать в новостях.. МОжно ее заставить это как-то делать? Заранее спасибо! :) |
Дошел до следующего:
Оказывается, Indexed Search не распарсивает слов на русском языке! :( Потому и не ищет.. С другой стороны, "обычный" поиск не умеет искать в модулях, видимо.. Не находит ничего.. Я что-то делаю не так или как быть? |
Обычный поиск не умеет искать в модулях, это правильно. Но во многих модулях есть свой собственный поиск, tt_news, tt_products etc.
Насчет indexed search на русском, не знаю, не пробовал. Обычный поиск работает. |
Так да.. А хотелось поиск по сайту сделать.. По всему..
Попробую, может, в индексаторе разобраться... Вдруг найду чего.. |
Ответ Каспера по поводу индексации:
"Probably this is because the REGEX which extracts the words from the content is geared for ascii and no >127 chars. Maybe german and danish extras. In the file "class.indexer.php" there is a function "split2words" which splits the word in the content and that does it by "alnum" plus characters found in some internal arrays: ->convChars - obviously we need a solution for splitting the words in other languages wheere the non-ascii chars are different. For now you can make a class extension to this class and insert a list of russian/ukranian chars in these internal arrays and you should be fine. Feel free to work on a better, more general solution. [Answered Online during List Management]" В общем, посоветовали сделать "class extension", в который нужно добавить кириллические символы. Я почти все понял ;-) Help!!! |
Правильно ли я понял, что нужно добавить русский алфавит в переменную: $convChars?
|
Для тех, кто не понял как решить проблему, немного более разжеванную информацию можно увидеть на http://t3bbs.averve.net/viewtopic.php?t=9 .
|
А для тех, кто получил там 404 -- можно продублировать здесь? :)
|
Там было следующее (typo3.net.ru):
1. Найдем файл class.indexer.php в папке typo3/ext/indexed_search 2. Заменим содержимое злосчастной переменной ( строки 45-48 ). Было: var $convChars=array( \"qyЉ}t{Њ†v€u\", \"‘™Є?’љ«¤ћ–Ё•\" ); Стало: var $convChars=array( \"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ\", \"абвгдеёжзийклмнопрстуфхцчшщъыьэюя\" ); 3. Сохраняем измененный файл. [примечание A.S.: у меня не заработало.] |
Часовой пояс GMT +4, время: 15:51. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot