Помогите, пожалуйста, разобраться с ситуацией. В базе есть 300тыс+ записей и они вроде как все в индексе. Но эпизодически (никакой периодичности отследить не могу) данные перестают находиться по определенным словам. Переиндексация не помогает, данные просто то ищатся то нет.
Например:
Название товара - 6869 Panzerkampfwagen VI(P) / Bergepanzer Tiger(P) - (2 in 1)
находится по словам
6869
Panzerkampfwagen
Bergepanzer
er Tiger
fwagen VI
По Tiger отказывается находить. Но бывают менты когда находит по Tiger но другой товар где то же это слово присутствует, кодировки и языки одинаковые промерял по хешу md5. И в базе запись есть проверял по LIKE
Подскажите, что это может быть?
конфиг
Код: Выделить всё
source src1
{
type = mysql
sql_host = localhost
sql_user = sphinx_user
sql_pass = ****
sql_db = links
sql_port = 3306
#sql_query_pre = SET NAMES utf8
sql_query_pre = SET CHARACTER SET utf8
#sql_query = SELECT * FROM links
sql_query = SELECT l.idlinks,l.title as title, l.search_string as search_string, l.brand as brand, ul.text_request as text_request, art FROM links l LEFT JOIN users_request ul ON ul.url = l.url;
sql_field_string = title
sql_field_string = brand
sql_field_string = art
sql_field_string = search_string
sql_field_string = text_request
#sql_attr_timestamp = date_create
}
index test
{
source = src1
morphology = stem_ru, stem_en
path = /var/lib/sphinx/test
docinfo = extern
#charset_type = utf-8
wordforms = /var/python_script/model-lavka.ru/wordforms.txt
stopwords = /var/python_script/model-lavka.ru/stopwords.txt
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+451, U+451, U+2D
dict = keywords
index_exact_words = 1
min_word_len = 1
min_infix_len = 2
expand_keywords = 1
html_strip = 1
}
searchd
{
listen = 127.0.0.1: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
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
binlog_path = /var/lib/sphinx/
}
Код: Выделить всё
SELECT * FROM test WHERE match('(@title "Tiger" ~ 8)|(@title "Tiger"/4)|(@art "Tiger")') OPTION max_matches = 10000