UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: shoto от 03 Декабря 2013, 17:53:57

Название: Странное поведение модуля ПОИСК
Отправлено: shoto от 03 Декабря 2013, 17:53:57
Добрый день.

Поиск по сайту работает весьма избирательно.
Один вид товаров ищет даже по части названия, другой ни как вообще.
Тип данных у всех одинаковый.
В шаблоне данных у всех полей с нужными словами установлена галочка "Индексируемое".
Ручная переиндексация в какой то момент останавливается и несмотря на фразу "переиндексация продолжится при следующим..." не продолжается.
В чем может быть проблема?

p.s. галочек "исключить из поиска" ни где не стоит.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 04 Декабря 2013, 00:08:02
Один вид товаров ищет даже по части названия, другой ни как вообще.

а названия тех товаров, что не ищутся, не содержат каких нибудь не цифробуквенных символов? например "-" или "/" ?
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 04 Декабря 2013, 09:13:05
Нет. Среди тех названий что не ищутся нет знаков.
как пример: есть товар с названием IP и есть IPS, так вот IPS ищется и находится, а вот IP ничего не найдено.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 04 Декабря 2013, 09:16:01
Смущает непонятности с переиндексированием вручную...

вы ищите только по названию? или по каким то еще полям? может имеет смысл написать свою уменьшенную версию поиска?)
Название: Re:Странное поведение модуля ПОИСК
Отправлено: e.ioffe от 04 Декабря 2013, 09:44:10
Нет. Среди тех названий что не ищутся нет знаков.
как пример: есть товар с названием IP и есть IPS, так вот IPS ищется и находится, а вот IP ничего не найдено.

Почему-то кажется, что поиск отбрасывает в запросе слова, состоящие из двух букв.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 04 Декабря 2013, 10:07:10
Нет. Среди тех названий что не ищутся нет знаков.
как пример: есть товар с названием IP и есть IPS, так вот IPS ищется и находится, а вот IP ничего не найдено.

Почему-то кажется, что поиск отбрасывает в запросе слова, состоящие из двух букв.
Весьма похоже. можно ли как то решить эту проблему?

и еще, ладно 2-х буквенные понятно.
но как объяснить что К 100 находит, а К 32 нет?
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 04 Декабря 2013, 10:35:51
Смущает непонятности с переиндексированием вручную...

вы ищите только по названию? или по каким то еще полям? может имеет смысл написать свою уменьшенную версию поиска?)
Вообще хотелось бы что бы искал только по названию, другие параметры нам не нужны.
Свою уменьшенную версию поиска это конечно круто. но не по зубам.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 04 Декабря 2013, 10:46:59
Один вид товаров ищет даже по части названия, другой ни как вообще.

а названия тех товаров, что не ищутся, не содержат каких нибудь не цифробуквенных символов? например "-" или "/" ?

а если содержатся, то что, искать не будет тоже?
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 04 Декабря 2013, 14:50:04
Смущает непонятности с переиндексированием вручную...

вы ищите только по названию? или по каким то еще полям? может имеет смысл написать свою уменьшенную версию поиска?)
Вообще хотелось бы что бы искал только по названию, другие параметры нам не нужны.
Свою уменьшенную версию поиска это конечно круто. но не по зубам.

напишу в статье в четверг, приложу ссылку сюда.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 06 Декабря 2013, 13:36:35
напишу в статье в четверг, приложу ссылку сюда.

Где можно посмотреть данную статью?
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 06 Декабря 2013, 14:29:53
http://umihelp.ru/articles/simple_search_search_do/
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 06 Декабря 2013, 15:46:12
Спасибо. Ищет отлично.
один нюанс.
когда находит несколько подходящих страниц и появляется пагинатор, то при переходе на следующую страницу с результатами:
"По вашему запросу "IP" найдено страниц: 0."
а отсчет пунктов найденного начинается с той цифры, которая равна номеру страницы.
Т.е. по какому то запросу общему допустим найдено 500 документов.
Вывод по 10 найденных, с нумерацией порядковой.
при клике на страницу 3, вывод начинается с номера 3, и пагинатор пропадает полностью, а в числе найденных страниц написано ноль.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: e.ioffe от 06 Декабря 2013, 15:48:14
Спасибо. Ищет отлично.
один нюанс.
когда находит несколько подходящих страниц и появляется пагинатор, то при переходе на следующую страницу с результатами:
"По вашему запросу "IP" найдено страниц: 0."
а отсчет пунктов найденного начинается с той цифры, которая равна номеру страницы.
Т.е. по какому то запросу общему допустим найдено 500 документов.
Вывод по 10 найденных, с нумерацией порядковой.
при клике на страницу 3, вывод начинается с номера 3, и пагинатор пропадает полностью, а в числе найденных страниц написано ноль.

Попробуйте в строке

$pages->limit($i, $per_page); // offset,limit

исправить $i на $p
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 06 Декабря 2013, 16:01:56
а если ввести не существующее слово в поиск
то фраза "Не найдено" или что там выводится в этом случае - не появляется.
а появляется само слово и числовое значение "Количество объектов на странице".
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 06 Декабря 2013, 16:05:16
Спасибо. Ищет отлично.
один нюанс.
когда находит несколько подходящих страниц и появляется пагинатор, то при переходе на следующую страницу с результатами:
"По вашему запросу "IP" найдено страниц: 0."
а отсчет пунктов найденного начинается с той цифры, которая равна номеру страницы.
Т.е. по какому то запросу общему допустим найдено 500 документов.
Вывод по 10 найденных, с нумерацией порядковой.
при клике на страницу 3, вывод начинается с номера 3, и пагинатор пропадает полностью, а в числе найденных страниц написано ноль.

Попробуйте в строке

$pages->limit($i, $per_page); // offset,limit

исправить $i на $p
Тогда вообще пустая страница при клике на следующую страницу с данными поиска
Название: Re:Странное поведение модуля ПОИСК
Отправлено: e.ioffe от 06 Декабря 2013, 16:09:56
Тогда вообще пустая страница при клике на следующую страницу с данными поиска


Странно. Вечером посмотрю, в чем может быть дело.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 06 Декабря 2013, 16:25:58
Спасибо. Ищет отлично.
один нюанс.
когда находит несколько подходящих страниц и появляется пагинатор, то при переходе на следующую страницу с результатами:
"По вашему запросу "IP" найдено страниц: 0."
а отсчет пунктов найденного начинается с той цифры, которая равна номеру страницы.
Т.е. по какому то запросу общему допустим найдено 500 документов.
Вывод по 10 найденных, с нумерацией порядковой.
при клике на страницу 3, вывод начинается с номера 3, и пагинатор пропадает полностью, а в числе найденных страниц написано ноль.

Попробуйте в строке

$pages->limit($i, $per_page); // offset,limit

исправить $i на $p

не надо исправлять, инструкции limit при использовании класса select нужно передовать, отспуп и limit, переменная $i высчитывает отступ (см. строчку 30 в коде из статьи)

А вы точно мой шаблон взяли?, так как в дефлтном шаблоне search_do (если вы копировали из него) не верно выводиться номер результата. Сравните:
дефолтный:
<span>
<xsl:value-of select="$p + position()" />
</span>

в моем примере:
<span>
<xsl:value-of select="($p*../../per_page) + position()" />.
</span>

===================================
а если ввести не существующее слово в поиск
то фраза "Не найдено" или что там выводится в этом случае - не появляется.
а появляется само слово и числовое значение "Количество объектов на странице".

Опять же проверяйте шаблоны. еще раз перепроверил описанный в статье шаблон все прекрасно выводиться (обратите внимание на атрибут match в шаблоне который выодит пустой результата, он должен работать с новым  методом )
<xsl:template match="udata[@method = 'simple_search_do']">
        <p>
            <strong>
                <xsl:text>&search-founded-left; "</xsl:text>
                <xsl:value-of select="$search_string" />
                <xsl:text>" &search-founded-nothing;.</xsl:text>
            </strong>
        </p>
    </xsl:template>
Название: Re:Странное поведение модуля ПОИСК
Отправлено: e.ioffe от 06 Декабря 2013, 16:30:55
не надо исправлять, инструкции limit при использовании класса select нужно передовать, отспуп и limit, переменная $i высчитывает отступ (см. строчку 30 в коде из статьи)

Да, действительно так. Видимо, пятница влияет на чтение кода :) Приношу извинения, ошибся.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 06 Декабря 2013, 16:33:17
Полностью были скопированы все что было в статье. class.php  - один в один.

При переходе на страницу следующую поиска используя ссылку пагинатора. значения поиска для следующей страницы остаются. а вот сами ссылки пропадают. и уже не сходить на ни следующую ни на первую.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 06 Декабря 2013, 16:58:39
в simple-search-result.xsl добавлена форма поиска:
<form class="search" action="/search/simple_search_do/" method="get">
<input type="text" value="&search-default-text;" name="search_string" class="textinputs" onblur="javascript: if(this.value == '') this.value = '&search-default-text;';" onfocus="javascript: if(this.value == '&search-default-text;') this.value = '';"  x-webkit-speech="" speech="" />
<input type="submit" class="button_search" value="Найти" />
</form>
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 06 Декабря 2013, 17:06:27
Полностью были скопированы все что было в статье. class.php  - один в один.

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

а можно ссылку на url с запросом, на котором наблюдаются такие инетесные вещи?
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 09 Декабря 2013, 11:28:42
Полностью были скопированы все что было в статье. class.php  - один в один.

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

а можно ссылку на url с запросом, на котором наблюдаются такие инетесные вещи?

http://citypumps.ru/search/simple_search_do/?p=1&search_string=ip
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 16 Декабря 2013, 08:59:27
почему-то при запросе /udata/search/simple_search_do/?p=1&search_string=ip
переменная total равна 0, именно из-за этого пагинация исчезает.
Название: Re:Странное поведение модуля ПОИСК
Отправлено: shoto от 20 Декабря 2013, 15:27:37
А в чем может быть проблема? Почему очищаются значения Total?
Название: Re:Странное поведение модуля ПОИСК
Отправлено: admin от 20 Декабря 2013, 16:08:52
сложно сказать у меня при тестинге все ок.  Так что, надо смотреть там, где есть проблема