Странные результаты поиска в mSearch2
Всем привет! Прошу помочь мне в следующей задаче.
Суть в том, что при выполнении всех условий поиска — получаем положительный ответ. При не выполнении условий — отрицательный. Но если в поисковый запрос ввести значение, которое в индексе есть, но не подходит под условия этого самого поиска — то не выдается никакой ответ, ни положительный, не отрицательный.
Если описать проблему подробнее и на примерах:
Задача состояла в том, что каждая модель имеет несколько типов и введя наименование этого типа на странице модели — должно показывать, подходит данный тип к этой модели или нет. Причем еще должен быть реализован автокомплит, поэтому в голову пришло использовать mSearch2.
Сперва я решил сделать все наименования типов для моделей — их дочерними ресурсами. И искать по дочерним ресурсам. Реализация была следующая:
Шаблоны были такими:
tpl.mSearch2_type.row
tpl.mSearch2_wrapModel
Структура была такая:
Все отлично, ищет. Но возник косяк, который увы, мне не удается решить.
Допустим мы находимся на странице с id = 2.
Вводим 57826 — Положительный ответ.
Вводим билиберду — Отрицательный ответ.
Вводим 57891 (т.е. тот, что уже есть в ресурсах, но исходя из условий поиска должен давать отрицательный результат) — Не получаем ответа вообще, не выдается ничего.
Потом я пробовал сделать по другому.
Создал TV авто-метку, вводил типы в него, и искал по этому полю, в настройках mSearch2 в настройке mse2_index_fields поставил значение: tv_searchType:3.
Обновил индекс. Вызов изменил на такой:
В результате чего добиваюсь той же работы что и с первым методом реализации.
Подскажите пожалуйста, почему отдает пустой результат в той ситуации, которую я описал выше. Заранее спасибо!
Суть в том, что при выполнении всех условий поиска — получаем положительный ответ. При не выполнении условий — отрицательный. Но если в поисковый запрос ввести значение, которое в индексе есть, но не подходит под условия этого самого поиска — то не выдается никакой ответ, ни положительный, не отрицательный.
Если описать проблему подробнее и на примерах:
Задача состояла в том, что каждая модель имеет несколько типов и введя наименование этого типа на странице модели — должно показывать, подходит данный тип к этой модели или нет. Причем еще должен быть реализован автокомплит, поэтому в голову пришло использовать mSearch2.
Сперва я решил сделать все наименования типов для моделей — их дочерними ресурсами. И искать по дочерним ресурсам. Реализация была следующая:
[[!mSearchForm? &autocomplete=`queries` &minQuery=`1`]]
[[!pdoPage?
&parents=`[[*id]]`
&element=`mSearch2`
&tpl=`tpl.mSearch2_type.row`
&tplWrapper=`tpl.mSearch2_wrapModel`
&wrapIfEmpty=`1`
&minQuery=`1`
]]
[[!+page.nav]]
Шаблоны были такими:
tpl.mSearch2_type.row
<div class="mse2-row">
Данный тип серии подходит.
</div>
tpl.mSearch2_wrapModel
<div style="margin: 10px 0;">[[+output]]</div>
Структура была такая:
Все отлично, ищет. Но возник косяк, который увы, мне не удается решить.
Допустим мы находимся на странице с id = 2.
Вводим 57826 — Положительный ответ.
Вводим билиберду — Отрицательный ответ.
Вводим 57891 (т.е. тот, что уже есть в ресурсах, но исходя из условий поиска должен давать отрицательный результат) — Не получаем ответа вообще, не выдается ничего.
Потом я пробовал сделать по другому.
Создал TV авто-метку, вводил типы в него, и искал по этому полю, в настройках mSearch2 в настройке mse2_index_fields поставил значение: tv_searchType:3.
Обновил индекс. Вызов изменил на такой:
[[!pdoPage?
&element=`mSearch2`
&tpl=`tpl.mSearch2_type.row`
&tplWrapper=`tpl.mSearch2_wrapModel`
&wrapIfEmpty=`1`
&minQuery=`1`
&includeTVs=`searchType`
&where=`{"pagetitle":"[[*pagetitle]]"}`
]]
В результате чего добиваюсь той же работы что и с первым методом реализации.
Подскажите пожалуйста, почему отдает пустой результат в той ситуации, которую я описал выше. Заранее спасибо!
Комментарии: 3
Скорее всего, у тебя не последняя версия mSearch2, в которой есть ошибка с выводом ресурсов через быстрый поиск.
Я её исправил, обновление доступно в магазине. Если версия всё же последняя — создавай тикет в магазине, будем разбираться.
Я её исправил, обновление доступно в магазине. Если версия всё же последняя — создавай тикет в магазине, будем разбираться.
Да, все верно. Стояла версия 1.0.0, обновил — стало как надо! Спасибо!
На здоровье!
В любой непонятной ситуации первым делом проверяй обновления =)
В любой непонятной ситуации первым делом проверяй обновления =)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.