2010-08-23 69 views
3

大家好我有一个问题,当我查询的Solr它匹配的结果,但是当我能够突出这个查询的结果突出显示不工作..Solr的高亮问题

我的查询是

+内容:“项目503”

内容是文本类型的文本,并且文本项目503中的一个重要内容显示为“项目503(c)”,可以在最后打开括号创建问题?请帮助

这里是突出部分SolrSonfig.xml

<highlighting> 
    <!-- Configure the standard fragmenter --> 
    <!-- This could most likely be commented out in the "default" case --> 
    <fragmenter name="gap" class="org.apache.solr.highlight.GapFragmenter" default="true"> 
    <lst name="defaults"> 
    <int name="hl.fragsize">100</int> 
    </lst> 
    </fragmenter> 

    <!-- A regular-expression-based fragmenter (f.i., for sentence extraction) --> 
    <fragmenter name="regex" class="org.apache.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\"']{20,200}</str> 
    </lst> 
    </fragmenter> 

    <!-- Configure the standard formatter --> 
    <formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" default="true"> 
    <lst name="defaults"> 
    <str name="hl.simple.pre"><![CDATA[<em>]]></str> 
    <str name="hl.simple.post"><![CDATA[</em>]]></str> 
    </lst> 
    </formatter> 
    </highlighting> 

and here is fieldtype definition in schema.xml 

    <fieldtype name="text" class="solr.TextField"> 
    <analyzer> 
     <tokenizer class="solr.StandardTokenizerFactory" luceneMatchVersion="LUCENE_29"/> 
     <filter class="solr.StandardFilterFactory"/> 
    <!-- <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.StopFilterFactory" luceneMatchVersion="LUCENE_29"/> 
     <filter class="solr.EnglishPorterFilterFactory"/>--> 
    </analyzer> 
    </fieldtype> 

and here is field definition 

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

问候 阿赫桑。

+0

您可以粘贴来自solrconfig.xml的相关高亮部分吗?和schema.xml中的字段定义。这是相当广泛的可能性从你有什么... – 2010-08-23 18:05:50

回答

1

您是否尝试过存储术语向量?如果您使用快速向量荧光笔(我认为Solr可能会默认),您将需要这些。

+0

有一件事突出并不总是失败,大多数情况下,但在上述情况下,它已经搜索的术语,但没有突出显示它,其次,我已经存储长期载体,但正如我知道快速向量荧光笔将可用于Solr 1.5, – 2010-08-24 11:25:20

+0

你有没有尝试玩的参数? 1.将slop设置为非常大 2.设置正则表达式匹配* 这里的一个可能性是你的域只是短语“项目501(c)”,所以你的正则表达式(20)的最小长度不是'不满意。 – Xodarap 2010-08-25 16:48:13

+0

thanx非常多的完成.. – 2010-08-25 17:36:49