2015-12-10 2 views
0

Я работаю с приложением dot NET MVC и с Apache Solr. У меня есть два поля, индексированные в Solr, один - это имя & second - категория. Я проиндексировал несколько диакритических слов в поле «Имя», а также в поле «Категория» с помощью этого метода кодирования.Имея проблему с диакритикой и Solr Поиск

HttpUtility.UrlEncode()

Причина у меня есть индекс его кодирования является то, что я хочу, чтобы отобразить категорию с Грани.

Итак, все эти значения индексируются в закодированной форме в Solr. Теперь во время процесса поиска я кодирую searchterm, а затем просматриваю его в Solr, и это дает мне результат.

Но проблема в том, что если я ищу одно и то же слово без диакритики, это не дает мне никакого результата, поскольку слово хранится в закодированной форме.

У вас есть решение проблемы?

ответ

1

Создать новое поле category_norm и добавить нормализующий анализатор цепочку к нему (я думаю, что пример схема есть один для текста), а затем использовать copyField для автоматического копирования контента с вашего category в новое поле.

Или вы могли бы повернуть его и ввести category_facet для огранки с сырым значением и пусть поле name имеет Поисково-версию, снова используя copyField держать их синхронизацию.

+0

У меня уже есть поле с текстом. Но он будет копировать то же значение, что и в поле по умолчанию. Например, prótese индексируется после кодирования, как: pr% c3% b3tese в основном поле, а также в поле Копировать. Теперь я не могу найти слово Протесе. – Ankita

+0

Вы просмотрели мой предыдущий комментарий? – Ankita

Смежные вопросы