1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.1.1 XenForo Enhanced Search 1.0.0

Тема в разделе "Новости XenForo", создана пользователем Romchik®, 18.01.2012.

Загрузка
Статус темы:
Закрыта.
  1. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Вот и обещанный поиск вышел.

    Усовершенствованный поиск (XFES) - это дополнение, которое заменяет встроенный поиск XenForo, благодаря чему достигается высокая производительность поисковых запросов на больших форумах. Плюс пользователи получают больше гибких настроек для поиска.

    Мы уже писали:
    XFES также позволяет выбрать "stemming analyzer", что означает, что будут искаться однокоренные слова. Например, поиск "тесты", автоматически выдаст в результатах "тест", "тестовый", "тестирование" и т.п. (В настоящее время это точно только для английского языка и англоязычных форумов, соответственно.)

    Требования

    XFES требует установленного elasticsearch (версия 0.16.0 или выше). По сути, данное дополнение имеет смысл покупать только если у вас есть рутовый доступ к серверу (как на выделенном сервере или на VPS). XFES также требует XenForo (версия 1.1.1 или выше).

    Покупка

    XFES может быть приобретен вместе с новой лицензией XenForo на странице заказа или же для существующей лицензии в пользовательской зоне.

    Установка и конфигурация

    Для дополнительной информации посетите страницу настройки XFES.
     
    Gatses, Jumuro и infis нравится это.
  2. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    М-да... 50 тугриков, однако. Для экспериментов дорогова-то :)
     
  3. Union

    Union Местный

    Регистрация:
    12.10.11
    Сообщения:
    306
    Симпатии:
    86
    Версия XF:
    1.1.2
    смысла для мелких форумов, как я понимаю нет в нем?
     
  4. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Да. Этот поиск предназначен для больших и огромных форумов.
     
  5. r4mZeS

    r4mZeS Местный

    Регистрация:
    10.10.10
    Сообщения:
    240
    Симпатии:
    194
    а) Для экспеременов скоро появится варёз. =)
    б) На данный момент, как можно прочесть в аннотации, все прелести поиска применимы пока что только для англоязычной публики.
    Так что, торопиться с этим не стОит.
     
  6. stanlee

    stanlee Местный

    Регистрация:
    13.03.11
    Сообщения:
    12
    Симпатии:
    3
    Круче поиска на сфинксе еще не придумали, но это не дл простых смертных.
    После сфинкса я ни на что не перейду.
     
  7. Romchik®

    Romchik® The Power of Dreams Команда форума

    Регистрация:
    26.09.10
    Сообщения:
    5 746
    Симпатии:
    5 311
    Версия XF:
    1.5.18
    Кстати, это вроде как частично верно. Посмотрел, решения вроде как и для других языков есть в последних версиях. Просто могут пока еще не идеально работать, но уже хоть что-то.

    Если кто обзаведется лицензией на поиск, просьба стукнуть в личку. Есть вопрос один.
     
  8. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Скажем так - работать 1 в 1 как встроенный mysql fulltext поиск он будет. но вот если нужны расширенные возможности хака (стемминг и морфология) то с этим уже значительно сложнее.
     
  9. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Там же по идее не столько алгоритмы, вернее, не только алгоритмы, но и словари должны быть для корректной обработки фраз, приставок, суффиксов и окончаний. Т.е. теоретически важен корень слова, а не все слово целиком. Также релевантность - понятие сильно растяжимое и неоднозначное. Эти два фактора и определяют качество выдачи. А если оно еще и транслитерацию и допуск на орфографические ошибки умеет, то система будет реально нужная и стоящая денег.
    Получается, что важен даже не сам двиг, но и конкретно его использование.
     
  10. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Ну скажем так - нормальный поисковый двиг обязан делать стемминг с учетом морфологии (вот хранить или нет точные словоформы - это опционально, но желательно чтобы была такая настройка). Если же это в ксеновском модуле вынесено в пхп часть, то это полнейший бред, т.к. во первых тормоз, а во вторых бред по определению.
    Я не знаю как сделано в ксеновском модуле, т.к. нет у меня исходников, но elasticsearch умеет сам делать стемминг с морфологией (правда с русским там совсем не очень), но все это при желании могли вынести и в модуль (надеюсь что не так)
     
  11. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Да речь не шла конкретно о ксеновском модуле. Я имел ввиду, что двиг один, а вот под двиг обычно еще существуют различные словари и модули. Если часть работы по поиску вынести еще и в виде пхп, то да, это будут тормоза. Хотя смотря что. Если на пыхе будет формироваться непосредственно сам контент для поиска, то в общем так и должно быть (по большому счету оно и сейчас так работает). Не всегда ведь можно указать тупо таблицу и поле, что можно и нужно индексировать, и затем ждать чуда.
     
  12. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    если делать всю предобработку текста (стемминг с учетом морфологии) перед записью в поисковый индекс на пхп - то будут тормоза - для примера далеко хотить не надо - тот же phpMorphy
    Вообще-то именно это и есть основной задачей поискового сервера - он должен принять исходный текст и потом по запросу дать выборку релевантных результатов, а все остальное - опции. Т.е. как предобрабатывать текст, как сортировать конечную выборку при поиске, это решается настройками поискового сервера, но все равно всю эту работу делает сервер, а не программа передающая или получающая данные из него. Если для поискового двигла надо как-то предобрабатывать текст - значит это не поисковый сервер, а просто база с reverse или N-gram индексом.
    Да, согласен, что почти для всех поисковых сервером сейчас надо делать некоторые манипуляции на входе или выходе при работе с русским, но это только костыли для обхода кривизны работы и это не есть правильно! Конечно лучше всего с русским работает сфинкс, но и у него есть много недостатков. Lucene с русским работает значительно хуже и тут надо посмотреть сколько трудозатрат будет на допиливание elasticsearch-а для нормальной поддержки русского и сколько для точно такой же настройки поиска используя сфинкс.
     
  13. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Опять речь не о том. Движок ксена, как и многие другие, не пытаются свалить на тот же сервер мускула всю работу с контентом. Т.е. в некоторую таблицу заносятся записи на основании того, что отдают модели, например. Таким образом туда может попасть не весь контент всей базы со всеми записями, а лишь то, что считает нужным отдать модель. Как следствие, индекс строиться может без учета тех же бб-кодов, которые в оригинальной записи поста присутствуют. Можно попутно и другую предобработку делать, если понадобится. А вот поисковый двиг уже работает с той отфильтрованной таблицей (таблицами), строя свой индекс только по ним. И поисковый двиг может понятия не иметь, откуда там данные. Соответственно, все это легко расширяется, так как те же плагины могут подсовывать свои данные для поиска, а поисковый движок просто строит по ним индексы с учетом и без релевантности и т.д.
    Проводить стемминг с учетом морфологии на уровне движка форума, конечно же, глупо.
    Про словари и модули поискового движка я упомянул в том ключе, что любой поисковый двиг должен иметь различные алгоритмы работы с разными данными и языками, в частности. Именно для этого существуют определенные словари и модули поискового движка (не движка форума или сайта!).
    Я уже сказал выше, что предобработка текста - это не анализ его и передача поисковому движку, а выделение именно того контента, который должен быть подвергнут поиску. И часто это не является таблицей с теми же постами, так как в противном случае в индексе будет слишком много лишнего. Также форум или сайт могут классифицировать контент перед передачей его на дальнейшую обработку поисковому движку. Ну и т.д. и т.п. Очень много зависит как от самого форума (сайта), так и от движка поиска.
    А вот тут как раз я не соглашусь, что это нормально, когда в поисковый двиг передается контент с учетом языка. Язык должен распознаваться автоматически. Более того, внутри одной записи языков может быть несколько. А форум (сайт) не должны в принципе заниматься обучением поискового движка, какой контент под какой язык, а также фильтровать его в зависимости от языка. Форум (сайт) может быть мультиязычным. Да и не с руки форуму (сайту) учитывать всю мультиязычную направленность. Иначе будет плохо расширямо, масштабируемо и тормознуто.
     
  14. ANGEL OF FIRE

    ANGEL OF FIRE Модератор

    Регистрация:
    06.11.11
    Сообщения:
    395
    Симпатии:
    180
    Версия XF:
    1.1.3
    Нормально с русским работает. Сейчас себе поставил. Просто по стандарту нужно не английский ставить, а русский. Нужно один файл править. Я себе купил, ради теста. Вообще отлично.
     
    Yoskaldyr, Jumuro и Romchik® нравится это.
  15. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Русский со стеммингом и морфологией???? Т.е. обычный поиск (т.е. поиск, аналогичный mysql fulltext) конечно будет работать - это однозначно, но вот расширенный...

    Если русский с учетом с морфологии работает (т.е. префиксы/суффиксы/чередование гласных в корне и т.д.), тогда вопрос - какие дополнения Lucenе и elasticsearch-а использовали (желательно со ссылками откуда брали) или все в стандартной поставке?
    Если все в стандартной - то просто не верю!!! :)

    Я этого не говорил. Я говорил насчет допиливания существующего плагина до функционала плагина разработчиков, а именно отдельная настройка использовать стемминг с морфологией или работать как обычный Mysql Fulltext. А под допиливанием elasticsearch-а подразумевал подключение jar-а с русской морфологией (нашел несколько jar-ов, но все довольно давно обновлялись, а т.к. нет в наличии обсуждаемого плагина, то и пробовать негде насколько хорошо они работают). И в обоих случаях допиливания в поисковый двиг передается все без учета языка. Просто сфинкс с русским лучше работает (по крайней мере год назад точно лучше работал чем lucene), но надо дописывать плагин, а для elasticsearch-а есть готовый плагин, но с русским хуже :)
     
  16. ANGEL OF FIRE

    ANGEL OF FIRE Модератор

    Регистрация:
    06.11.11
    Сообщения:
    395
    Симпатии:
    180
    Версия XF:
    1.1.3
    Пробуйте на моём форуме. Смотрите. Я в специально отведённом для этого разделе выставлял уже адрес моего форума. Не знаю разрешено ли тут ссылку ставить.

    Вот как пример. Я пробовал. И работает.

    переезжают
    переезжаем
    переезжать

    Только именно на форуме, а не на портале. На портале пока вордпрессовский поиск.

    Пишу сейчас плагин.
     
  17. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Спасибо. Попробовал. Как и предполагал - стандартный стемминг 3-го lucene для русского (только базовые окончания и то не всегда). Для проверки попробуйте поискать глагол "ложиться".

    С другой стороны - может большая степень обхвата словоформ и не нужна (это тоже может отрицательно влиять на релевантность поиска).
     
  18. ANGEL OF FIRE

    ANGEL OF FIRE Модератор

    Регистрация:
    06.11.11
    Сообщения:
    395
    Симпатии:
    180
    Версия XF:
    1.1.3
    Ну это как раз выставлен Stemming analyzer

    Аха, вижу проблему. Будем думать.

    Но это уже лучше всё равно чем обыкновенный поиск.
     
  19. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    А переехал будет искать с этими же словами?
     
  20. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    неа - не ищет :)))
     
Статус темы:
Закрыта.

Поделиться этой страницей