Настраиваю поиск sphinx в Битрикс на centOS. Поиск работает на сайте, необходимо реализовать вывод таких запросов тшлу – nike, найк – nike, и т.д.
Файл sphinx.conf
#!/usr/bin/php # Ansible managed # Minimal Sphinx configuration for Bitrix # # Include site search db <?php
$includeConfig = «\n\n»; $confDir = «/etc/sphinx/bx/search_index»; if(is_dir($confDir)) { if($dh = opendir($confDir)) { while(($file = readdir($dh)) !== false) { if($file == "." || $file == "..") continue;
$includeConfig .= file_get_contents($confDir.'/'.$file).«\n\n»; } closedir($dh); } }
echo $includeConfig;
?> searchd { listen = 9312 listen = 9306:mysql41 log = /var/log/sphinx/searchd.log query_log = /var/log/sphinx/query.log pid_file = /var/run/sphinx/searchd.pid binlog_path = /var/lib/sphinx
read_timeout = 5 max_children = 30 max_matches = 1000 seamless_rotate = 1 preopen_indexes = 1 unlink_old = 1 workers = threads # for RT to work binlog_max_log_size = 512M # 2 - flush every transaction, sync every second. Good performance, and every committed transaction is guaranteed to be saved in case of daemon crash. # 1 - flush and sync every transaction. Worst performance, but every committed transaction data is guaranteed to be saved binlog_flush = 2 rt_flush_period = 3600 }
indexer { lemmatizer_cache = 128M
} common { lemmatizer_base = /usr/share/sphinx/dicts }
Файл default.conf
# Ansible managed # IndexName: default # SiteName: default # DBName: sitemanager0 index default { # Main settings type = rt path = /var/lib/sphinx/default/index wordforms = /var/lib/sphinx/data/wordforms.txt 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 # For UTF use utf-8 else sdcs charset_type = utf-8 }
Файл wordforms.txt
найк > nike тшлу > nike
Файл wordforms.txt создавали сами, папку data, в которой лежит также создавали сами. Путь к нему wordforms = /var/lib/sphinx/data/wordforms.txt в файле default.conf прописывали так же сами.
Рестарт поиска делали и переиндексацию сайта делали. Но поисковые запросы, указанные в файле wordforms.txt не работают.