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

1.1.1 XenForo Enhanced Search 1.0.0

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

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

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Тогда проку от такого поиска - близко к нулю.
     
  2. Yoskaldyr

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

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

    Ну как я и говорил - у Lucene есть проблема с русским в плане нормальной поддержки морфологии. Сфинкс русский язык лучше поддерживает, но тоже тюнить надо очень вдумчиво и учитывать специфику ресурса (иногда полная поддержка всех словоформ может быть вредна).

    К примеру тот же хабр показатель очень жестокой настройки морфологии для русского - типичный пример "ложиться" = "ложь" и т.д.
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Отдельный поиск должен давать ощутимо лучшие результаты. И не только на больших выборках. Тому же мускулу достаточно будет мощного сервера для того, чтобы обеспечивать вполне достойный отклик. Да, потолок, конечно же есть. Но грустно, когда слова обрабатываются только без окончаний - это все же не полноценный полнотекстовый поиск, а лишь расширенный аналог LIKE%
    Ничего против люцена и сфинкса, а также "полнотекстового" поиска мускула не имею. Если они есть, значит они востребованы. Но относительно русского языка - ни один не дает адекватных результатов. Неужели так сложно сделать и обновлять хорошую мощную базу именно для русского языка? Или такие системы жутко проприетарны и на широком рынке могут даже не быть представленными?
     
  4. zuka

    zuka Местный

    Регистрация:
    09.07.12
    Сообщения:
    74
    Симпатии:
    16
    Версия XF:
    1.5.5
    Привет! Ну есть у кого-нибудь подвижки по настройке поиска через ES с учетом морфологии?
    ANGEL OF FIRE, кстати ты писал, что у тебя как-то поиск работал со словоформами, но сейчас смотрел твой сайт и не увидел к сожалению как это выглядит.

    Чиркни, пжл, поподробнее что делал. Какой файл нужно править?

    Теперь, делюсь что нарыл сам, пока результа ноль конечно, но для информации, может кому поможет.

    1. Есть модуль https://github.com/imotov/elasticsearch-analysis-morphology для ES:
    "Morphological Analysis Plugin for ElasticSearch
    The Morphological Analysis plugin integrates Russian and English morphology for java and lucene 3.0 framework into elasticsearch. This plugin adds two new analyzers: “russian_morphology” and “english_morphology” and two token filters with the same names."

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

    Ну и второе. Писал в саппорт: "типа что с поддержкой морфологии на русском ?"
    Ответ официальный:
    "Offically we are unable to support other languages other than English within XenForo, however, that said the stemming of other languages should work correctly if you have the relevent set up for your ElasticSearch service configured."
    Говорят, что официально они не поддерживают другие языки кроме английского, но стемминг на других языках при соответствуюшей настройке ES должен работать правильно. Теперь вопрос, какие это настройки должны быть?... Напишу, может ответят чего.
    --- добавлено : Aug 14, 2012 7:44 AM ---
    Хм... в файле
    /library/XenES/ControllerAdmin/Elasticsearch.php
    строку 31
    case 'snowball': $analyzer = array('type' => 'snowball', 'language' => 'English'); break;
    заменить на
    case 'snowball': $analyzer = array('type' => 'snowball', 'language' => 'Russian'); break;

    имеем: ищем "переехал"
    находятся: "переехать"

    любить->любая
    кричать->крича
    качали->качается, качать, качайте

    это что заработало что ли?
     
  5. Yoskaldyr

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

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Да заработало, но качество русской морфологии как я писал выше для люцена не айс:
    любить->любая
    Может у этого модуля морфологии есть какие-то еще настройки, не знаю, но лично мне такой поиск не нужен :( Лучше уж вообще без морфологии
     
  6. zuka

    zuka Местный

    Регистрация:
    09.07.12
    Сообщения:
    74
    Симпатии:
    16
    Версия XF:
    1.5.5
    насколько понимаю, это не заслуга аддона imotovа, это штатные средства...
    а что не так с любить-любая, корень-то один... имхо выдача в таком поиске поинтереснее будет, а точно станет известно как пользователи попробуют и оценят, это самая правильная оценка будет
    к слову сказать встроенный поиск на булке их не радует что-то...
     
Статус темы:
Закрыта.

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