Как выполнить повторный поиск элементов, в которых есть @field с -?

У меня есть индекс повторного поиска с продуктами, в которых поля содержат специальные символы, такие как «-». Я продолжаю биться об стену, пытаясь найти продукты, где поле категории - «Мультирум-хотталер».

Вот пример записи прямо из redis-cli:

 1) shortDescription
 2) "\"Urbanears Stammen multiroom-h\xc3\xb8yttaler leverer stor, velbalansert lyd i et design som harmonerer med interi\xc3\xb8ret til ethvert hjem.\""
 3) brand
 4) "\"Urbanears\""
 5) title
 6) "\"Urbanears Stammen multiroom-h\xc3\xb8yttaler (bl\xc3\xa5)\""
 7) articleNumber
 8) "\"STAMMENBU\""
 9) category
10) "\"Multiroom-h\xc3\xb8yttaler\""

Я пробовал следующее, включая запуск ft.explain для всех из них из cli и rdm, но безуспешно. Я также хочу, чтобы это было точное совпадение.

На данный момент все они возвращают 0 обращений.

ft.search no @category:Multiroom-høyttaler
ft.search no @category:Multiroom\-høyttaler
ft.search no @category:Multiroom\\-høyttaler
ft.search no @category:\"Multiroom-høyttaler\"
ft.search no @category:\"Multiroom\\-høyttaler\"
ft.search no @category:\\"Multiroom\-høyttaler\\""
ft.search no @category:"\\"Multiroom\\-høyttaler\\""

Я ожидаю получить все продукты категории Multiroom-høyttaler.


person Fredrik    schedule 14.08.2019    source источник
comment
Ваша проблема в том, что вам также нужно индексировать поле с экранированным символом -.   -  person Mark Nunberg    schedule 14.08.2019
comment
Кроме того, я мог бы предложить, чтобы такое поле, как категория, было полем TAG, так как я полагаю, что вариантов на выбор немного.   -  person Mark Nunberg    schedule 14.08.2019
comment
@MarkNunberg Спасибо, я проверю это. Немного не уверен, как использовать TAG, но прочитаю об этом.   -  person Fredrik    schedule 14.08.2019
comment
@MarkNunberg переиндексация с побегами сработала. Спасибо, дайте в качестве ответа, и я приму его.   -  person Fredrik    schedule 14.08.2019


Ответы (1)


Ваша проблема в том, что вам также нужно проиндексировать поле с экранированным -.

person Mark Nunberg    schedule 15.08.2019
comment
можно поподробней как это делается? - person Sami Fouad; 16.03.2021