Солр дисмакс подсвечивающий не уважающий анализатор

В схеме Solr 3.6.2 есть два field декларации, text а также exact

<field name="text" type="text" indexed="true" stored="true" /> 
<field name="exact" type="string" indexed="true" stored="true" /> 

Бывшее использование StandardTokenizer и последний KeywordTokenizer,

Solr запросы, описывающие проблему:

?hl=true
&hl.fl=text,exact
&defType=edismax
&qf=text+exact         <-------- here
&q=a-b

Выделите вывод для точного поля:<em>a</em>-<em>b</em>, Проблема сводка по полю exact производится с использованием анализатора из text,

?hl=true
&hl.fl=text,exact
&defType=edismax
&qf=exact              <-------- here
&q=a-b

Выделите вывод для точного поля:<em>a-b</em>, Просто удалив text от qf мы получаем правильный анализатор, почему?

1 ответ

Решение

С debugQuery на

+DisjunctionMaxQuery(((exact:a-b) | ((text:a text:b)~2)))

Подсветка Solr после нахождения совпадения в exact также, кажется, совпадают a а также b только на основании наличия в запросе. hl.requireFieldMatch=true действительно борется с этим!

Другие вопросы по тегам