Subscribe to Feeds Subscribe to Tweeters
02 Ноя

Как я лечил поиск в Bitrix (версия модуля 11.0.6)

Freesmska -> bitrix, php -> Как я лечил поиск в Bitrix (версия модуля 11.0.6)
Будь в курсе. Подпишись по e-mail:       

Для всех кто хотел облегчить жизнь с поиском. Было это в далеком ноябре 2012 🙂 Я сидел и думал почему при поиске по морфологии мой поиск ищет только 50% результатов. И нашел ребята я сделал это, о да…

Дело в том, что если вы обновляете cms с ранних версий поиск не меняет таблицы и продолжает отрабатывать по старой логике заложенной еще в древней версии, предположительно хрен знает какой. 🙂

И однажды приходит клиент, который говорит, ребята беда не ищет… И вы начинаете искать решение, а в итоге ни фига перекапывать 500 строк кода поиска и разбираться в запросах битрикса становиться все тошнотней.

И что же делать думаете вы, забить… писать свой или просто фиг с ним продолжить жить дальше с таким… Гуглите не находите ответа и опечаленные пишете в поддержку, но та отвечает в течение 3 дней и как всегда, давайте доступы будем разбираться. Обновите до последней версии… А сайт уже работает и не известно что слетит при обновлении…

Да-к вот решение: Обновляем поиск до версии 2 вручную:

1) в dbconnect.php

добавляете строку define(«BX_SEARCH_VERSION», 2);

2) Дальше ползете в бекофис на вкладку Настройки ->Инструменты->SQL-запрос

и выполняете следующие команды:

CREATE TABLE b_search_content_text
(
SEARCH_CONTENT_ID INT(11) NOT NULL,
SEARCH_CONTENT_MD5 CHAR(32) NOT NULL,
SEARCHABLE_CONTENT LONGTEXT,
PRIMARY KEY PK_B_SEARCH_CONTENT_TEXT (SEARCH_CONTENT_ID)
);

CREATE TABLE b_search_stem
(
ID INT(11) NOT NULL auto_increment,
STEM VARCHAR(50) BINARY NOT NULL,
PRIMARY KEY PK_B_SEARCH_STEM (ID),
UNIQUE KEY UX_B_SEARCH_STEM (STEM)
);

ALTER TABLE b_search_content_stem ADD PS FLOAT NOT NULL;
ALTER TABLE b_search_content MODIFY USER_ID INT(11);

3) Делаете переиндексацию и вуаля поиск ищет просто великолепно.

Всем хорошего настроения. Век живи век учись 🙂

100% зрение без операций

Будь в курсе. Подпишись по e-mail:      

3 комментария по теме: “Как я лечил поиск в Bitrix (версия модуля 11.0.6)”

  1. Liia:

    а в 17 версии что делать?

  2. Артем:

    используй sphinx

  3. А что хранится в этих таблицах? Можно ли их почистить? А то размер их уже просто зашкаливает.

У вас есть мнение? Оставьте свой отзыв: