Наверх

LangCorrect-0.0.1 — Изменяем неверную раскладку запросов

Я очень привык к тому, что Яндекс понимает текст, набранный в любой раскладке, но на сторонних сайтах все несколько сложнее - запрос приходится перепечатывать, если набрал вдруг не в той кодировке. Но вот, на днях я наткнулся на библиотеку Text_LangCorrect, которая позволяет определить неверную кодировку и исправить ее. Решил набросать сниппет для MODX, использующий ее для коррекции запросов пользовтелей. Представляю вам LangCorrect. Дополнение представляет из себя небольшой сниппет, подключающий библиотеку и корректирующий текст в случае, если он был набран в неверной раскладке. Кроме того, при коррекции, информация о проведенной трансформации выводится в плейсхолдер [[!+lc.message]]. В действии можно посмотреть в поиске по моему сайту: Иногда пользователям надо дать возможность отменить корректировку. Для этого достаточно добавить в ссылку get-параметр noncorrect=1: Исходный код компонента доступен на Github.


14 комментариев

  1. Alex 25 июля 2014, 08:12 # 0
    Есть ли решение для MODx поиска с опечатками? к примеру Даполнения MODX
    1. Илья Уткин 25 июля 2014, 08:33 # 0
      mSearch2 позволяет задавать синонимы для слов. Ну и ищет с учетом морфологии.
      1. Alex 25 июля 2014, 08:51 # 0
        Морфология в msearch2 — да, спору нет, наверное лучше решение для mysql. А вот с опечатками там по-моему в последних версиях появилась возможность задавать таблицу опечаток. Но ведь это скорее не решение, а «костыль» для администратора сайта.
        1. Илья Уткин 25 июля 2014, 08:55 # 0
          А для других систем такой поиск есть? Можно было бы посмотреть алгоритм и разработать дополнение для MODX.
          1. Alex 25 июля 2014, 09:15 # 0
            вообще можно использовать стандартный SOUNDEX для поиска близких по звучанию слов в mysql, только не уверен что это будет работать для русского языка.
          2. Илья Уткин 25 июля 2014, 08:58 # 0
            Кстати, можно попробовать воспользоваться Яндекс.Спеллером… Надо предложить Василию Наумкину включить в mSearch2 возможность все запросы пропускать сначала через спеллер.
          3. Alex 26 июля 2014, 15:10 # 0
            там же синонимы а не опечатки, получается к примеру можно вбивать «алый-розовый», кстати, не очень удобно — одно слово может иметь множество синонимов, а там можно вбить лишь единственный синоним.
        2. Алекс 14 марта 2015, 14:10 # 0
          Что то не пойму как его прикрутить к поиску?
          подскажите новичку пож-та
          1. Илья Уткин 16 марта 2015, 07:35 # 0
            Я не знаю) Смотря как у вас поиск реализован)
          2. Ден 25 апреля 2016, 08:22 # 0
            Здравствуйте. Подскажите, пожалуйста, как подружить с mSearch2?
            1. Илья Уткин 25 апреля 2016, 12:36 # 0
              Хм… не знаю, я сам с mSearch2 особо не работал. Не могу подсказать, к сожалению…
            2. Валентина 21 августа 2019, 18:10 # 0
              Добрый вечер!
              Спасибо за дополнение. Не подскажите, как передать параметры запроса в сниппет? Или это автоматически происходит?
              1. Валентина 21 августа 2019, 18:19 # 0
                Параметр $input
                1. Илья Уткин 22 августа 2019, 07:38 # 0
                  Как и в обычный сниппет:

                  [[!LangCorrect? &input=`значение`]]

              Авторизация

              через сервис Loginza:


              Шаблоны MODX

              1 2 Дальше »

              Объектная
              модель
              MODX