@armo92

SphinxSearch сортировать по параметрам поиска?

Добрый день у меня такая задача по Сфинксу
index mc_offers
{
	type			= rt
	
	path			= /var/lib/sphinxsearch/mc_offers
	
	rt_mem_limit		= 16M
	
	rt_field		= 	title
	rt_field		= 	description
	rt_field                =       short_description
	rt_field		= 	tags
	rt_field		= 	sub_section
	rt_field                =       user_residency

	rt_attr_string		= 	title
        rt_attr_string          =       description
	rt_attr_string          =       short_description
	rt_attr_string		= 	tags
	rt_attr_uint		= 	section_id
	rt_attr_string		= 	sub_section
	rt_attr_uint		= 	location_id
	rt_attr_uint		= 	place_id
	rt_attr_uint		= 	price_aed
	rt_attr_uint		= 	price_usd
	rt_attr_string          =       user_residency
	rt_attr_uint		=	label_id
	rt_attr_float		= 	lat
	rt_attr_float		= 	lng

	min_word_len	=	1
	min_infix_len	=	1
	enable_star	=	1
	dict		=	keywords

	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+0531..U+0556->U+0561..U+0586, U+0561..U+0586, U+0587, U+2116,
}


это конфигурация реал тайм индекс

+------+--------+-------------+------+----------+
| id   | weight | sub_section | id   | weight() |
+------+--------+-------------+------+----------+
|    9 |   2598 | 1 2         |    9 |     2598 |
|   15 |   2598 | 1 2         |   15 |     2598 |
|   31 |   2598 | 1 2 5       |   31 |     2598 |
|   51 |   2598 | 1 2 5       |   51 |     2598 |
|   55 |   2598 | 1 2         |   55 |     2598 |
|   56 |   2598 | 1 2         |   56 |     2598 |
|   57 |   2598 | 1 2         |   57 |     2598 |
|   64 |   2598 | 1 2         |   64 |     2598 |
|   65 |   1543 | 1 5         |   65 |     1543 |
|    1 |   1531 | 1           |    1 |     1531 |
|   29 |   1531 | 1 5         |   29 |     1531 |
|   32 |   1531 | 1 5         |   32 |     1531 |
|   38 |   1531 | 1 3 4       |   38 |     1531 |
|   40 |   1531 | 1 5         |   40 |     1531 |


это семпле от индекса прошу уделите внимание на sub_section

У меня есть такой куери

SELECT `id`, WEIGHT()  FROM `mc_offers` WHERE MATCH('@sub_section 1|2')  LIMIT 0,10;


Вопрос такой можно ли сортировать результат так чтобы с перва были все кто имеет в sub_section -е 1 а потом все те у которых есть 2?

Помогите прошу
  • Вопрос задан
  • 396 просмотров
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
Отсортируйте на стороне приёмника
Ответ написан
@Jekshmek
кодер штродер
Или напишите UDF свою пользовательскую ф-цию сортировки
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы