solr pdf搜索突出显示问题

时间:2017-04-24 11:06:41

标签: pdf solr lucene lucene-highlighter

solr v6.5: - 我有一个索引核心索引的2个pdf文件。当我搜索关键字时,它会在文档中找到,但突出显示适用于一个文档而不适用于另一个文档。例如:当我搜索"恐慌"其中一份文件中有。我通过突出显示获得搜索结果。但是当我搜索" epsilon"时,我得到一个结果,表明已经找到了文档信息等,但是,此文档的突出显示无法正常工作。 什么是在managed_schema.xml中添加/更改的内容:

    .
    .
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>
.
. 
    <field name="_text_" type="text_general" multiValued="true" indexed="true" stored="true"/>
    <field name="content" type="text_general" multiValued="true" indexed="true" stored="true"/>
    .
    .
    <copyField source="content" dest="_text_"/>

并且,solrconfig.xml代码段如下:

.
.
<requestHandler name="/update/extract"
                  startup="lazy"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <str name="lowernames">true</str>
      <str name="fmap.meta">ignored_</str>
      <str name="fmap.content">_text_</str>
    </lst>
  </requestHandler>
.
.

1 个答案:

答案 0 :(得分:0)

使用

  

hl.maxAnalyzedChars = aLargeEnoughValue

查询中的

参数,它让我突出显示了doc更远的搜索词。此参数的默认值为51200。

外卖:在Solr中编入索引的大型文档会为SEARCH提供+ ve结果,但突出显示可能为空/无。如果搜索到的单词位于文档的下方,则会发生这种情况。只需增加hl.maxAnalyzedChars的值就可以了。