Как совершить поиск в sphinx на русском языке?

Решил исползовать Sphinx для проэкта но такая проблема не получается искать слова на русском . на англиском нет проблем все получается но с русским

вот строка в котором я делаю запрос
$res = $cl->Query ("слова", "content" );
  • Вопрос задан
  • 2728 просмотров
Пригласить эксперта
Ответы на вопрос 1
sanchezzzhak
@sanchezzzhak
Ля ля ля...
Конфиг в студию + схему таблички и запрос в SphinxQl
Пока моя догадка что у вас разная кодировка

Приведу конфиг на всякий пожарный который, я из проекта в проект слегка переписываю под нужны..
## Базовый конфиг для всех источников
source sitename_config
{
	type			= mysql
	sql_host		= localhost
	sql_user		= root
	sql_pass		= mysql
	sql_db			= new_site
	sql_port		= 3306

    	sql_query_pre = SET NAMES utf8
    sql_query_pre = SET CHARACTER SET utf8
}

# применили конфиг путем наследования
source sitename_audio :sitename_config
{
	sql_query = \
		SELECT a.* \
		FROM  audio a
# указываем какие поля мы хотим индексировать
		sql_attr_uint	 = user_id
		sql_field_string = id3_title
		sql_field_string = id3_artist
		sql_field_string = description
		sql_attr_json    = id3_json
}

index sitename_audio 
{
	source			  = sitename_audio 
	path			  = e:/Server/sphinx/data/sitename_audio
	docinfo			  = extern
	charset_table     = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
	min_word_len      = 3
	html_strip        = 1       
	min_infix_len     = 3      
	index_exact_words = 1
	blend_chars = &,U+23

	#morphology		= stem_en
	#morphology		= stem_enru, soundex, metaphone

# морфология через словари словоформ...
	morphology      = lemmatize_ru_all
}

##################
#  Comon config
##################

indexer
{
	mem_limit		= 128M
}

searchd
{
	listen			= 9312
	listen			= 9306:mysql41
	log				= e:/Server/sphinx/log/searchd.log
	query_log		= e:/Server/sphinx/log/query.log
	read_timeout	= 5
	max_children	= 30
	pid_file		= e:/Server/sphinx/log/searchd.pid
	max_matches		= 1000
	seamless_rotate	= 1
	preopen_indexes	= 1
	unlink_old		= 1
	workers			= threads # for RT to work
	binlog_path		= e:/Server/sphinx/data
}

common
{
	lemmatizer_base = e:/Server/sphinx/dicts/
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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