2013-11-23 3 views
0

Как сказать Solr для поиска или иметь дело с числами мультибайтных как ٦٩, его просто число 69Как бороться с многобайтовым поиском в solr?

другими словами, пользователь имеет вход ٦٩ в поле поиска, браузер будет преобразовать его в: %D9%A6%D9%A9

solr return no result, так как он не имеет значения: %D9%A6%D9%A9

как бороться с такими вопросами ???

Solr конфигурация является конфигурацией по умолчанию

+0

Вы имеете в виду запрос solr? разобрав его и передал ему переведенную стоимость? или поля заполнены данными в этом типе? –

+0

в моем заполненном случае было 69, и пользователь пытается найти 69, разбор и перевод запроса будет в порядке – tawfekov

ответ

1

Я думаю, что вам нужно, чтобы преобразовать их из этих символов в число, используя solr.MappingCharFilterFactory https://cwiki.apache.org/confluence/display/solr/CharFilterFactories

Так в основном вы можете иметь файл mapping-ArabicNumbersToASCII.txt и содержит:

"٠" => "0" 
"١" => "1" 
"٢" => "2" 
"٣" => "3" 
... 

Затем используйте его в качестве анализатора, как так:

<analyzer> 
    <charFilter class="solr.MappingCharFilterFactory" 
    mapping="mapping-ArabicNumbersToASCII.txt"/> 
    <tokenizer ...> 
    [...] 
</analyzer> 

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

  • Нет связанных вопросов^_^