2014-02-18 2 views
1

В схеме Solr 3.6.2 есть два field декларации, text и exactSolr dismax подсветка не уважая анализатор

<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, мы получим правильный анализатор, почему?

ответ

0

debugQuery С на

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

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

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