Выявление проблемы с solr 8.2

Частичное выделение для solr 8.2у меня не работает нормально. Я могу выполнить частичный поиск, используяNGramTokenizerFactory. Но подсветка, похоже, сейчас не работает.

Вот определение типа поля:

 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
    <tokenizer class="solr.NGramTokenizerFactory" maxGramSize="15" minGramSize="1"/>
    <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <analyzer type="query">
      <tokenizer class="solr.StandardTokenizerFactory"/>
      <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
      <filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
      <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
  </fieldType>

Вот мое поле:

<field name="title" type="text_general" multiValued="true" indexed="true" stored="true"/>

Запрос:

http://10.232.208.141:8986/solr/up1/select?df=title&hl.fl=title%2Ccontent &hl.simple.post=%3C%2Fb%3E&hl.simple.pre=%3Cb%3E&hl=on&q=digi&rows=1

Ожидаемый результат:

"title":["AgencyPortal <b>Digi</b>tal Engagement Solution Integration—Case Study | Cognizant"]}},

Токовый выход Выделите:

"title":["AgencyPortal Digital Engagement Solution Integration—Case Study | Cognizant"]}},

1 ответ

Решение

Добавить termVectors="true" termPositions="true" termOffsets="true" атрибуты к вашему полю.

Ваше поле будет выглядеть так.

<field name="title" type="text_general" indexed="true" stored="true" required="true" multiValued="true"  termVectors="true" termPositions="true" termOffsets="true"/>

Попробуйте добавить в запрос следующее.

&hl.q="queryTerm"&hl.usePhraseHighlighter=true&hl.useFastVectorHighlighter=true

Вот подробная документация по странице Highlighting.. Solr Highlighting Page

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