Как настроить поиск sphinx?

Настраиваю поиск 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 не работают.
  • Вопрос задан
  • 3173 просмотра
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
очевидно проблема в кодировке файла или у вас сайт win1251
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы