Как в sphinx настроить поиск без учета пробелов?

Строка поиска: "DRM 06P"
В базе есть такая запись: 'Бла бла бла DRM 06 P'

если искать "DRM 06 P", то находит без проблем, но пользователи могут вводить в поиск артикул с пробелами или без
или как в примере в одном месте пробел есть в другом нет

Получается должен искать, например по таким запросам:
1. бла бла DRM 06 P
2. бла бла DRM 06P
3. бла бла DRM06P

source mainSourse
{
	type			= mysql
	sql_host		= localhost
	sql_user		= root
	sql_pass		=
	sql_db		= test
	sql_port		= 3306	# optional, default is 3306
	sql_query_pre	= SET NAMES utf8
}

source testSearch : mainSourse
{

	sql_query= SELECT bt_search_tags.ID as id, bt_search_tags.content AS content FROM bt_search_tags;
	
	#type of group fields
	#sql_field_string = id
	sql_field_string = content
}

index content
{
	source = testSearch
	path	 = C:/sphinx/data/testSearch/testSearch
	morphology = stem_en, stem_ru, soundex
	min_word_len = 1
	
	charset_type   = utf-8
    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
    blend_chars    = &, ., +, U+23
    min_infix_len  = 2
    enable_star    = 1
    index_exact_words = 1
    html_strip     = 1
wordforms = C:/sphinx/data/wordforms.txt
}


$sth = $pdo->prepare("SELECT id, content, WEIGHT() as w FROM content WHERE MATCH('@content {$q}') LIMIT 1000 OPTION ranker = expr('sum(4*lcs+100/(min_hit_pos)+bm25)')");
    $sth->execute(array('21'));
    $array = $sth->fetchAll(PDO::FETCH_ASSOC);
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Видимо надо мин инфиксы постфиксы делать до 1 в данном случае
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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