Поиск в друпал.

7 января 2012 в 20:00
Аватар пользователя KonstS KonstS 0 19

Помогите. Вопросов пока три.
1. Как исключить страницу из поиска?
2. Возможно ли найти в каталоге товаров по запросу "сиденИя" товар содержащий слово сиденЬе. У меня не получается, что то.
3. Как ограничить длину "анонса" в результатах поиска неким количеством символов?
Спасибо.

Комментарии

1. копаться надо..
2. да.http://drupal.org/project/rustemmer
3. В шестой ветке я правил модуль search.module в функции search_excerpt в строке $end = substr($text, $p, 200); - число 200 отвечает за количество выводимых символов. Но учтите,это ядро. Вам кстати его придётся править при установке модуля из пункта 2.

Вот у себя так настроил, на 200 символов и стеммера.

7 января 2012 в 20:12

"Chyvakoff" wrote:

"Chyvakoff" wrote:
Но учтите,это ядро. Вам кстати его придётся править при установке модуля из пункта 2.

Уточните пожалуйста какие там еще подводные камни? Поставил rustemmer. Спасибо за совет. Переиндексировал сайт. Вроде все работает как и должно.. Что мне придется править при установке rustemmer ?

7 января 2012 в 21:01

В папке модуля rustemmer есть файл с именем search-highlight.patch
Смотрели его? Я согласно этому файлу пропатчил search.module...думал без этого алгоритм поиска не будет работать.
Больше ничего подводного не встречал. Рад что помог)

7 января 2012 в 21:51

Я настоятельно рекомендую не трогать ядро. Переопределяйте функции поиска в своем модуле или в темплате.пхп.

7 января 2012 в 22:44

А всунуть в свою тему два файлика:

search-results.tpl.php

<dl class="search-results <?php print $type; ?>-results">
  <?php print $search_results; ?>
</dl>
<?php print $pager; ?>

и

search-result.tpl.php

<dt class="title">
  <a href="<?php print $url; ?>"><?php print $title; ?></a>
</dt>
<dd>
  <?php if ($snippet) : ?>
    <p class="search-snippet">
    <?php
    print substr($snippet, 0, 150).' ...'; //Где 150 это количество символов результата
    ?></p>
  <?php endif; ?>
  <?php if ($info) : ?>
  <p class="search-info"><?php print $info; ?></p>
  <?php endif; ?>
</dd>

было попробовать?!
Зачем же ядро мучать?!

!!! Не забудьте передернуть тему

8 января 2012 в 8:21

"Znaem.net" wrote:
А всунуть в свою тему два файлика:

Спасибо попробую.
Сейчас волнует немного другое. Посмотрел несколько сайтов на друпале, похоже проблема у всех есть такая.
Допустим в поиск забиваю "падла бампер волга". Слова бампер и волга поиск знает и выдает, а вот вместе со словом "падла" поиск не дает результатов. Хотя в настройках поиска (Advanced search configuration) поставил галку "Содержит любое из слов". Я так понимаю должен найти "волга", а то чего нет проигнорировать. Что ж она не работает что ли?.
Вот у Chyvakoff например на сайте тоже самое(

9 января 2012 в 19:51

Почему не работает настройка "Содержит любое из слов", что никто не задумывался над этим?!!
Повторюсь.
Допустим в поиск забиваю "падла бампер волга". Слова бампер и волга поиск знает и выдает, а вот вместе со словом "падла" поиск не дает результатов. Хотя в настройках поиска (Advanced search configuration) поставил галку "Содержит любое из слов". Я так понимаю должен найти "волга", а то чего нет проигнорировать. Что ж она не работает что ли?.

17 января 2012 в 7:26

Я копал модуль search...потом надоело и бросил это дело..
как посещалка на моем сайте выростет и люди будуь активно юзать поиск-разберусь.
А так проблема действительно есть.

17 января 2012 в 9:31

Никто не дает ответа(( Это вы зря откладываете.. у меня посещений пока тоже мало, но люди бегут с сайта не найдя в поиске, что им нужно. Люди пишут неграмотно - это я решил частично модулем rustemmer. А вот когда много пишут и даже грамотно)) друпал не хочет искать.

17 января 2012 в 9:43

KonstS wrote:
гугловый c рекламой прямых конкурентов? в магазине как то странно это будет. надо свой!

Вот и я о том же!!!

21 января 2012 в 4:07

"KonstS" wrote:
Допустим в поиск забиваю "падла бампер волга". Слова бампер и волга поиск знает и выдает, а вот вместе со словом "падла" поиск не дает результатов. Хотя в настройках поиска (Advanced search configuration) поставил галку "Содержит любое из слов". Я так понимаю должен найти "волга", а то чего нет проигнорировать. Что ж она не работает что ли?.

крон йобта

20 января 2012 в 14:54