LINUX.ORG.RU

Движки поиска для 1С Битрикс

 , , , ,


0

1

Привет!

sudo cast mrs.

Вопрос по сабжу какие сейчас есть для битрикса и вообще для вебню годные поисковые движки? На сабж подключил Sphinx, но или я его настраивать не умею, или он так интегрируется с битриксом, что не умеет в склонение по падежам, ни во множественное число.

Требования, чтобы хорошо искал с учетом русской морфологии ну и можно было настроить выдачу результатов соответственно структуре категорий товаров в каталоге. Из чего его можно сделать, что будет легче всего интегрировать с Битриксом?!

★★★★★

и вообще для вебню годные поисковые движки?

По большому счёту их два — Sphinx и Elastic.

На сабж подключил Sphinx, но или я его настраивать не умею, или он так интегрируется с битриксом, что не умеет в склонение по падежам, ни во множественное число

Не знаю про Битрикс, но в Сфинксе морфология настраивается в его конфиге. По дефолту выключена. Хотя там не честная морфология, а стемминг. Но для поиска в 99.9% случаев хватает.

KRoN73 ★★★★★
()
Ответ на: комментарий от chrisred

Встроенный не устраивает ни заказчика, ни меня.

Т.к. нужен эффективный поиск по категориям товаров.

Со встроенного и начинали, не оправдал надежд. Подключил сфинкс, все запросы понимает буквально. По корням слов не ищет, т.е. запрос «печка», нормальная выдача, «печки» — уже совсем другое :-)

Twissel ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Конфиг

#
# Minimal Sphinx configuration for Bitrix
#
searchd
{
    listen			= 9312
    listen			= 9306:mysql41
    log			=      /var/log/sphinx/searchd.log
    query_log		=     /var/log/sphinx/query.log
    read_timeout		= 5
    max_children		= 30
    pid_file		= /var/run/sphinx/searchd.pid
    #max_matches		= 1000
    seamless_rotate		= 1
    preopen_indexes		= 1
    unlink_old		= 1
    workers			= threads # for RT to work
    binlog_path		= /var/lib/sphinx/data/
    binlog_max_log_size 	= 512M
    binlog_flush		= 2
    rt_flush_period		= 3600
}

common
{
    #lemmatizer_cache	= 128M
    lemmatizer_base	= /etc/sphinx/dicts/	# lemmatizer_base в Sphinx 2.2.1+ располагается в секции common
}

index bitrix
{
    #main settings
        type = rt
        path = /var/lib/sphinx/data/bitrix
        docinfo = inline
    #choose appropriate type of morphology to use
        #morphology = lemmatize_ru_all, lemmatize_en_all, lemmatize_de_all, stem_enru
        morphology = stem_enru, soundex
    #these settings are used by bitrix:search.title component
        dict = keywords
        prefix_fields = title
        infix_fields=
        min_prefix_len = 2
        enable_star = 1
    #all fields must be defined exactly as followed
        rt_field = title
        rt_field = body
        rt_attr_uint = module_id
        rt_attr_string = module
        rt_attr_uint = item_id
        rt_attr_string = item
        rt_attr_uint = param1_id
        rt_attr_string = param1
        rt_attr_uint = param2_id
        rt_attr_string = param2
        rt_attr_timestamp = date_change
        rt_attr_timestamp = date_to
        rt_attr_timestamp = date_from
        rt_attr_uint = custom_rank
        rt_attr_multi = tags
        rt_attr_multi = right
        rt_attr_multi = site
        rt_attr_multi = param
    #depends on settings of your site
        # uncomment for single byte character set
        #charset_type = sbcs
        # uncomment for UTF character set
        #charset_type = utf-8
}
Twissel ★★★★★
() автор топика
Ответ на: Конфиг от Twissel

morphology = stem_enru, soundex

Странно, этого должно быть достаточно. Хотя у меня без soundex. Вот у меня базовый индекс как выглядит:

    source          = posts
    path            = /var/idx/sphinx/posts
    docinfo         = extern
    mlock           = 0
    index_exact_words = 1
    morphology      = stem_enru
    min_word_len        = 1
    html_strip              = 1
    html_index_attrs        = img=alt,title; a=title;
    charset_table   = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+401->U+435, U+451->U+435
    # ё 451 -> е 435
    # Ё 401 -> Е 415 -> е 435


При чём без изменений года с 2011-го. Сейчас работает версия 2.2.10 в Docker-контейнере. Надо бы обновиться до 2.2.11 и посмотреть 2.3.3 и 3.0.1 :)

KRoN73 ★★★★★
()
Ответ на: комментарий от gobot

Почему я предпочитаю? Sphinx легче, жрёт меньше ресурсов и удобнее для меня. Почему народ предпочитает Elastic? Он более раскручен, более функционален, лучше поддерживается.

KRoN73 ★★★★★
()
28 марта 2018 г.
Ответ на: комментарий от KRoN73

Привет!

Можешь поделится своим файлом словоформ?

У меня не гуглится :-(

Twissel ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

О, еще мне тут подумалось: для взаимодействия с Percona 5.7 никаких дополнительных плагинов не нужно?

Twissel ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

И в конце концов, где можно почитать про настройку ElasticSearch для битрикс?

Twissel ★★★★★
() автор топика
21 июня 2018 г.
Ответ на: комментарий от KRoN73

Sphinx легче, жрёт меньше ресурсов и удобнее

Добрый день! Вижу Вы специалист в этой сфере, а не могли бы мне помочь с моим проектом? 2й день воюю с битриксом и сфиксом и не могу его настроить......

navistarsys
()
Ответ на: Sphinx легче, жрёт меньше ресурсов и удобнее от navistarsys

а не могли бы мне помочь с моим проектом? 2й день воюю с битриксом и сфиксом и не могу его настроить......

Я в глаза не видел Битрикса со стороны кода, так что тут помочь не могу совсем.

Сфинкс у меня работает в разных вариантах (старый API и MySQL для запросов, прямые обращения к БД и XML для индексации, индексы как delta, так и rt). Так что это обширное поле и вопросы лучше конкретизировать :)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.