簡體   English   中英

無法在solrconfig中將hl.fragmenter用作正則表達式

[英]unable to give hl.fragmenter as regex in solrconfig

我正在嘗試使requestHandler也會給我突出顯示的結果,但是如果我搜索/ Highlight,它會給我錯誤,例如“ Unknown fragmenter:regex(error code-400)

我在solrConfig.xml中的配置:

<requestHandler name="/highlight" class="solr.SearchHandler" default="true">
<lst name="defaults">
   <str name="echoParams">explicit</str>
   <str name="defType">edismax</str>
   <str name="q.alt">*:*</str>
   <str name="rows">10</str>
   <str name="fl">*,score</str>
   <str name="qf">
      id^0.5 name^1.0 description^1.2 
   </str>
   <str name="hl">on</str>
   <str name ="hl.snippets">5</str>
   <str name="hl.fragsize">50</str>
   <str name="hl.maxAnalyzedChars">510000</str>
   <str name="hl.requireFieldMatch">true</str>
   <str name="hl.fragmenter">regex</str>
   <str name ="hl.fragListBuilder">simple</str>
   <str name="hl.phraseLimit">1000</str>
   <str name="hl.usePhraseHighlighter">true</str>
   <str name="hl.highlightMultiTerm">true</str>
   <str name ="hl.useFastVectorHighligher">true</str>
 </lst>
</requestHandler>

如果我刪除<str name="hl.fragmenter">regex</str>行,則搜索工作正常,但是突出顯示的結果僅出現在字符串的末尾,即使在搜索鍵之后有更多文本也是如此。 例如,如果我搜索“ Deployment Manager”,它將返回以下結果:

<lst name="DEX1201">
    <arr name="name">
      <str>Are these the same product? Red Gate <em>Deployment Manager</em></str>
    </arr>
  </lst>
  <lst name="DEE2112">
    <arr name="name">
      <str>no of group, or cell, of other servers. The <em>Deployment Manager</em></str>
    </arr>
  </lst>

預期結果:

<lst name="DEX1201">
    <arr name="name">
      <str>...same product? Red Gate <em>Deployment Manager</em> is the one of the.../str>
    </arr>
 </lst>

提前致謝 :)

請驗證或在solrconfig.xml中添加正則表達式分段器

這是取自solr-4.6.1示例配置的示例。

  <!-- A regular-expression-based fragmenter (for sentence extraction) -->
  <fragmenter name="regex" class="solr.highlight.RegexFragmenter">
    <lst name="defaults">
      <!-- slightly smaller fragsizes work better because of slop -->
      <int name="hl.fragsize">70</int>
      <!-- allow 50% slop on fragment sizes -->
      <float name="hl.regex.slop">0.5</float>
      <!-- a basic sentence pattern -->
      <str name="hl.regex.pattern">[-\w ,/\n\&quot;&apos;]{20,200}</str>
    </lst>
  </fragmenter>

應該在

<searchComponent class="solr.HighlightComponent" name="highlight">

HighlightComponent示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM