У меня есть такой запрос:
select id from myindex
where match('main search keywords') and
myfilter in ('somevalue')
order by weight() desc limit 0,50
option max_matches=5000 facet myfilter limit 5000
И у sphinx conf есть этот атрибут:
sql_attr_string = myfilter
Этот запрос работает отлично, и я получаю результаты main search keywords
фильтруется по значению фасета somevalue
Но тот же запрос не работает, если у меня есть место (как это some value
) или косая черта (вот так some/value
) в моем запросе (где, конечно, БД имеет значения с пробелом и косой чертой в них).
Под «не работает» я имею в виду, что это не приносит никаких результатов.
Я также пытался избежать случая с косой чертой, т. Е. Использовал some\/value
и даже some\\/value
, но он все еще не дал никаких результатов, хотя в БД они есть.
Какие-либо предложения?
РЕДАКТИРОВАТЬ:
SHOW WARNING Result
Array
(
[Level] => warning
[Code] => 1000
[Message] =>
)
SHOW META Result
[0] => Array
(
[Variable_name] => total
[Value] => 0
)
[1] => Array
(
[Variable_name] => total_found
[Value] => 0
)
[2] => Array
(
[Variable_name] => time
[Value] => 0.000
)
[3] => Array
(
[Variable_name] => keyword[0]
[Value] => 694
)
[4] => Array
(
[Variable_name] => docs[0]
[Value] => 199
)
[5] => Array
(
[Variable_name] => hits[0]
[Value] => 199
)
Задача ещё не решена.
Других решений пока нет …