0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 990 Просмотров
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
Здравствуйте. Использую умный поиск на сайте так как компонент соцсети имеет неплохо адаптированные под него плагины (выводит изображения в результатах поиска и т.д.).

Однако, мучает вопрос, на который так и не смог найти ответа в статьях. А именно, можно ли заставить Умный поиск работать как обычный Поиск в части поиска контента по фрагменту проиндексированного слова?

Например, если через Умный поиск искать "осьминоги", то в рузультатах поиска будет контент, в котором встречается слово "осьминог" и будет проигнорирован контент со словом "осьминогИ".

А если искать по фрагменту "осьмин", то вообще, ничего не будет найдено. Хотя обычный поиск выдал бы и "осьминог" и "осьминоги" и "осьминога".

Это никак не лечится? Спрашивал у разработчиков соцсети - отвечают, что вопрос не по адресу (мол нужно к разработчикам Joomla адресовать).

Какие настройки компоненты используете вы? Какие порекомендуете?

Спасибо.
« Последнее редактирование: 13.07.2020, 19:17:35 от slepoy »
Помог? Поставь(те) плюс в репутацию.
*

pavelrer

  • Давно я тут
  • 603
  • 10 / 2
Ни как! Даже по выделенному корню ни как, ни один поисковик так не работает.
В таких, случаях просто обучается поиск.
Посмотрите на две колонки Яндекс вордстат - общего ноль, а подсказки то что нужно!
Ну а в вашем случае, я конечно двоячник ну как я понимая "осьминог" двух корневое слово, "и" ну не знаю как там частица соединитель.
По какому корню искать?!
Короче ни как, обучаемый поиск с огромной базой и огромным сервером = дата центр.
Или ни как.
*

sivers

  • Завсегдатай
  • 1609
  • 223 / 0
Однако, мучает вопрос, на который так и не смог найти ответа в статьях. А именно, можно ли заставить Умный поиск работать как обычный Поиск в части поиска контента по фрагменту проиндексированного слова?
Если нужен "как обычный поиск", то используйте обычный поиск. Для умного поиска надо сперва создать индекс в админке. В процессе индексации он насоздает разных вариантов из фргаментов слов и словосочетаний и потом при наборе текста на сайте будет предлагать подходящие и искать по ним. Если выбрано что-то из предложенных (они все имеют свой ИД в базе). А если ввести то, чего нет в его индексе, то и не найдет.
На связи в телеге @sivers
*

SalityGEN

  • Захожу иногда
  • 148
  • 5 / 0
  • Делаю мир лучше
На счет умного поиска не знаю, не юзаю его, так как боюсь всяких штук умнее меня  ;D
а вот обычный поиск можно перепилить, уже делал подобное, допилка делается в формировании SQL запроса

если $string = 'строка';
то "SELECT имятаблицы LIKE = %$string%"
способен находить:

строка
строкаабв...
срокаабвгдеёжхи и т д...

а вот что бы найти меньше введеного, нужна примерно такая логика (я нифига не SQL'шик не ругайте ::) )

Код
// КОД ПРИМЕРНЫЙ И НЕСЕТ ТОЛЬКО СМЫСЛОВУЮ НАГРУЗКУ
$newsql = "SELECT * FROM имятаблицы WHERE имястолбца LIKE "; // заготовка строки для дальейшей склейки
$sting = 'строка';
$glubina = 3; // минимально символов
$str = substr($sting,0,$glubina); // обрезаем строку
$newsql = "SELECT * FROM имятаблицы WHERE имястолбца LIKE '%{$str}%' or имястолбца LIKE '%{$sting}%'"; // собираем запрос

ну а дальше подсовываем полученну переменную с этой строкой в наш запрос
таким образом обычный поиск можно заставить поумничать...
« Последнее редактирование: 02.04.2019, 01:47:57 от SalityGEN »
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
Здравствуйте. Появилось какое-либо решение вопроса: как научить "Умный поиск" (не обычный) искать контент по части слова? Спасибо.
Цитировать
Например, на данный момент если через Умный поиск искать "осьминоги", то в результатах поиска будет контент, в котором встречается слово "осьминог" и будет проигнорирован контент со словом "осьминогИ", "осьминогОВ", "осьминогУ".
Помог? Поставь(те) плюс в репутацию.
*

voland

  • Легенда
  • 11009
  • 585 / 112
  • Эта строка съедает место на вашем мониторе
Здравствуйте. Появилось какое-либо решение вопроса: как научить "Умный поиск" (не обычный) искать контент по части слова? Спасибо.
А вы пробовали?
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
Очередной поиск информации в сети не дал результатов. Похоже, как было сказано выше – "Умный поиск" способен искать контент только по целым словам.
https://forum.joomla.org/viewtopic.php?t=974678#p3581968
https://forum.joomla.org/viewtopic.php?f=579&t=818491
https://forum.joomla.org/viewtopic.php?t=821728
https://forum.joomla.org/viewtopic.php?t=737629
https://forum.joomla.org/viewtopic.php?t=824450
https://forum.joomla.org/viewtopic.php?t=877279

Одно из решений для com_content – это добавлять в материалы ключевые слова на базе различных формы слов (осьминог, осьминоги, осьминогов, осьминогу и др).

Либо встраивать поиск от Яндекс или Google 🤷‍♂️
Помог? Поставь(те) плюс в репутацию.
*

voland

  • Легенда
  • 11009
  • 585 / 112
  • Эта строка съедает место на вашем мониторе
А вы пробовали?
Проверил
Из коробки и правда не работает.
Однако, парадигматический поиск на русском решает проблему и всё отлично работает
Для последних версий достаточно пп 1 и 2 из темы
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
Спасибо. Это действительно позволяет при запросе "осьминог" отображать варианты с различным окончанием. Этого достаточно, чтобы вернуться с Яндекс.Поиска на "Умный поиск".
Жаль, что это решение не позволяет искать по части слова "осьмин". >:( Но в целом очень рад такой находке.
Цитировать
Ссылка на файл porter_ru.php: http://redozator.ru/files/porter_ru.zip. Чтобы его установить, нужно:
1. Поместить его в папку administrator/components/com_finder/helpers/indexer/stemmer/
2. В файле administrator/components/com_finder/config.xml ищем описание поля stemmer и вставляем строчку
Код
<option value="porter_ru">rus stemmer</option>
3. В админ. панели, в настройках умного поиска выбираем в поле Парадигматический модуль наш новый стеммер rus stemmer.
Помог? Поставь(те) плюс в репутацию.
*

slepoy

  • Давно я тут
  • 746
  • 23 / 0
  • Тотальная шизофазия
Здравствуйте. Возможно подскажите в какую строку (и место) файла porter_ru.php следует вписать суффиксы для поддержки суффиксов "ок", "ек" (по слову "дружки" будет находиться "дружок" и подобное), ка/ек/ку (чтобы по слову "девушка" искались и другие варианты: девушек, девушку и др.). Спасибо.
Код
    var $VOWEL = '/аеиоуыэюя/u';
    var $PERFECTIVEGROUND = '/((ив|ивши|ившись|ыв|ывши|ывшись)|((?<=[ая])(в|вши|вшись)))$/u';
    var $REFLEXIVE = '/(с[яь])$/u';
    var $ADJECTIVE = '/(ее|ие|ые|ое|ими|ыми|ей|ий|ый|ой|ем|им|ым|ом|его|ого|еых|ую|юю|ая|яя|ою|ею)$/u';
    var $PARTICIPLE = '/((ивш|ывш|ующ)|((?<=[ая])(ем|нн|вш|ющ|щ)))$/u';
    var $VERB = '/((ила|ыла|ена|ейте|уйте|ите|или|ыли|ей|уй|ил|ыл|им|ым|ены|ить|ыть|ишь|ую|ю)|((?<=[ая])(ла|на|ете|йте|ли|й|л|ем|н|ло|но|ет|ют|ны|ть|ешь|нно)))$/u';
    var $NOUN = '/(а|ев|ов|ие|ье|е|иями|ями|ами|еи|ии|и|ией|ей|ой|ий|й|и|ы|ь|ию|ью|ю|ия|ья|я)$/u';
    var $RVRE = '/^(.*?[аеиоуыэюя])(.*)$/u';
    var $DERIVATIONAL = '/[^аеиоуыэюя][аеиоуыэюя]+[^аеиоуыэюя]+[аеиоуыэюя].*(?<=о)сть?$/u';
Помог? Поставь(те) плюс в репутацию.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Метки или поиск в Joomla что лучше?

Автор kiev

Ответов: 3
Просмотров: 115
Последний ответ 09.02.2021, 23:41:58
от kiev
Умный поиск: Сортировать результаты по дате создания

Автор slepoy

Ответов: 3
Просмотров: 195
Последний ответ 17.12.2020, 20:36:48
от voland
Умный поиск не показывает подсказок

Автор cntrl

Ответов: 6
Просмотров: 174
Последний ответ 02.12.2020, 15:02:49
от cntrl
Поиск внутри pdf

Автор Dolphin4ik_1

Ответов: 3
Просмотров: 116
Последний ответ 19.11.2020, 16:18:37
от Cedars
Как добавить произвольные поля в умный поиск?

Автор Dolphin4ik_1

Ответов: 0
Просмотров: 191
Последний ответ 09.09.2020, 16:54:35
от Dolphin4ik_1