Сортировка результатов поиска по убыванию даты

InstantCMS 2.X
#1 10 апреля 2017 в 09:35
Добрый день!

ICMS v. 2.7.1
Компонент поиск (с внесёнными правками с github) сортирует найденные материалы по возрастанию (сначала — более старые по дате, новые — в самом конце). Подскажите, пожалуйста, как изменить порядок, чтобы в начале отображались последние по дате материалы (как на оф. сайте при сортировке по дате). Память смутно подсказывает, что меняется порядок a_z/z_a, далее провал...)
#2 10 апреля 2017 в 10:44
Вроде в коде по desc стоит. Может это по тегам так, там вроде по id группировка. Попробуйте поменять в файле модели компонента. Там в самом низу прописанно ORDER BY fsort desc
#3 11 апреля 2017 в 04:34
Спасибо за ответ!
Если Вы про ../system/controllers/search/model.php, то, к сожалению, там этого нет (или я не разглядел). Нечто похожее есть в основном классе ../system/core/model.php, но с логикой пока не разобрался.
#4 21 апреля 2017 в 08:41
Вот уже ICMS v. 2.7.2, но проблема остаётся. sad

Есть ещё мнения, как настроить вывод результатов поиска по убыванию или в каком это файле?
Кстати, аналогичную картину наблюдаю при поиске по хештегам(#). Полагаю, что механизм поиска используется один и тот же.

Как победить? scratch
#5 21 апреля 2017 в 09:48
Похожие проблемы с поиском наблюдаю и на официальном демо-сайте ICMS. Похоже, поиск работает(?) только по заголовкам. shock

Задаю слово "город", что выхватил глаз из заголовка — найден один материал: "В городе открыт сервис для ретро-автомобилей".
Хочу посмотреть, как материалы сортируются и с трудом)), но нахожу похожие слова: "координат" --> "Ничего не найдено".
Возможно не умеет искать/отображать в нескольких материалах? Беру из найденного материала (см. выше) "стабилизатор" --> "Ничего не найдено".

Может, местный генератор текстов использует какую-нибудь хитрую кодировку, как на сайте гос. закупок?) Или всё-таки проблемы (недоработки) с поиском? scratch
#6 23 апреля 2017 в 18:54
В файле модели есть запрос в базу, в котором вроде производится сортировка по убыванию:
  1. $sql = "SELECT {$select_fields}, MATCH({$match_fields}) AGAINST ('{$query}' IN BOOLEAN MODE) as fsort
  2. FROM cms_{$table_name}
  3. WHERE {$filter_sql} MATCH({$match_fields}) AGAINST ('{$query}' IN BOOLEAN MODE)
  4. ORDER BY fsort [b]desc[/b]
  5. "
однако же она не работает. Менял на asc и обратно — эффекта нуль.

Мне вот любопытно, только у меня наблюдается подобное? У всех корректно работает или все как-то выходят из ситуации. Но, если даже на официальном демо-сайте не работает?!

Народ! Отзовись! )
#7 23 апреля 2017 в 20:41

Похоже, поиск работает(?) только по заголовкам.

@4info

Возможно не стоит галочка в "Участвует в полнотекстовом поиске" в настройках нужных полей…
#8 24 апреля 2017 в 07:53
Благодарю за отзыв!)

Да, на оф. демо не были установлены эти настройки. Поставил, пока лучше не стало. Может, тамошние индексы ещё не обновились...

А у Вас на сайте подобное наблюдается или поиск сортирует результаты как требуется?
#9 24 апреля 2017 в 12:18
Говоря об общем поиске, то тоже искал только по заголовкам, пока не поставил на нужные поля в нужных типах контента галочку для участия в поиске.
Что касается сортировки, то у меня старые сверху. Мне это не подходит. Возможно получится настроить "Наборами". Позже буду пробовать.

В результатах поиска обнаружил следующую неприятность. Растолкую картинкой:
#10 24 апреля 2017 в 16:53

искал только по заголовкам, пока не поставил на нужные поля… галочку

Это — да. Такая настройка на сайте сразу была. Я писал про настройки и порядок поиска именно на официальном демо-сайте InstantCMS. Думал, что, возможно, проблема только "на моей стороне", ан нет. Общая.

… старые сверху. Мне это не подходит.

О том и речь! И не только Вам. Любопытно, что здесь поиск сортируется как надо.

Возможно получится настроить "Наборами".

Возможно. Но, боюсь Вас расстроить, Наборы предназначены и могут быть использованы для поиска внутри одного типа контента. А вот для "сквозного" поиска по всем, также по модным сейчас хеш-тегам(#) — увы.

Любопытно и то, что разработчики хранят гордое молчание. И даже на прямые вопросы не отвечают! Либо вопросы настолько нубские, либо тема под запретом, либо все так заняты, что… scratch
#11 24 апреля 2017 в 17:01

Любопытно и то, что разработчики хранят гордое молчание. И даже на прямые вопросы не отвечают! Либо вопросы настолько нубские, либо тема под запретом, либо все так заняты, что.

@4info
Что вам ответить? В компоненте "Поиск" сортировка по релевантности, а не по дате. Изменить её на другую можно в указанном вами запросе.

официальном демо-сайте

@4info
Официальный демо сайт — не площадка для экспериментов. Он обнуляется периодически, кроме того, там много функций ограничено и доступно только для чтения.

p.s. по компоненту поиск есть документация, как впрочем а на многое другое.
#12 24 апреля 2017 в 17:42

Официальный демо сайт — не площадка для экспериментов.

Fuze
,
и
"Земля – не поляна для галактических пикников."
rofl
#13 24 апреля 2017 в 18:22
Добрый вечер, Fuze!

Что вам ответить? В компоненте "Поиск" сортировка по релевантности, а не по дате.

Благодарю за ответ! Это уже что-то, чем просто тишина, когда не понятно, может просто информация не доходит.)

Насчёт "по релевантности" боюсь, что это не совсем так. После Вашего ответа я ещё раз внимательно оценю результаты на большой выборке, но сдаётся мне, что сортируются они всё-таки по дате. При релевантности даты были бы смешаны, а они выстроены по возрастанию.

Насчёт "изменить" — понимаю. Подскажете как? Или это очень сложно? Подспудно чувствую, что это уже давно реализовано. По крайней мере здесь (на этом сайте) всё работает.

Официальный демо сайт — не площадка для экспериментов.

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

P.S. Всегда и очень внимательно читаю документацию и тщательно ищу ответы на свои вопросы. Не хочу показаться назойливым, но что я могу по Вашему почерпнуть из документации? В настоящий момент там описаны хоть и нужные, но очевидные вещи. А насчёт, например, сортировки по релевантности или сортировки вообще — ни слова.
#14 24 апреля 2017 в 18:31

Насчёт "по релевантности" боюсь, что это не совсем так

@4info
Движок сортирует именно по релевантности.

Ну, это же не пыльная картина за стеклом в музее, на которую только смотреть и восторгаться

@4info
Я это написал к тому, что если на демо сайте что-то не работает, то в 99% случаев так и должно быть, потому что, повторюсь, демка с ограничениями, это означает, что работать там может не всё и тестировать в части ошибок нужно свои "чистые" установки CMS. А так, демо сайт роняйте сколько угодно, я не против 😊

А насчёт, например, сортировки по релевантности или сортировки вообще — ни слова.

@4info
Наверное потому, что смена сортировки в поиске штатно не предусмотрена. Про то, что сортировка выдачи по релевантности — добавил в документацию.
#15 24 апреля 2017 в 20:37
По результатам работы модуля Поиск по сайту возник вопрос. Вот задал слово в поиск. Открывается страница результата и видны, например, несколько записей, но среди них нужной не оказалось. Я с ходу посчитал, что не настроил поля для поиска. Проверил, настройки в порядке. Переписал искомое слово, вдруг ошибся, но всё равно не выводится. Только через какое-то время я понял, что запись нашлась, только она находится под другой вкладкой. Я видел эту вкладку, но подумал, что сразу выводится полный список, а если уж захочу отфильтровать, то воспользуюсь ими, вкладками.

Ясно, что многие пользователи не увидят всех результатов поиска. Не хватает вкладки "Все". Настроек не обнаружено, поэтому хочу поинтересоваться как это можно настроить.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.