【发布时间】:2014-09-22 17:24:45
【问题描述】:
A 我需要执行词组搜索。在搜索结果中,我得到了完全匹配的词组,但查看突出显示的部分,我看到该词组已被标记化,即这是我在搜索“第 1 天”时得到的结果:
<arr name="post">
<str><em>Day</em> <em>1</em> We have begun a new adventure! An early morning (4:30 a.m.) has found me meeting with</str>
</arr>
这是我想要收到的结果:
<arr name="post">
<str><em>Day 1</em> We have begun a new adventure! An early morning (4:30 a.m.) has found me meeting with</str>
</arr>
我正在做的查询是这样的: 管理控制台:
q = day 1
fq = post:"day 1" OR title:"day 1"
hl = true
hl.fl =title,post
select?q=day+1&fq=post%3A%22day+1%22+OR+title%3A%22day+1%22&wt=xml&indent=true&hl=true&hl.fl=title%2Cpost&hl.simple.pre=% 3Cem%3E&hl.simple.post=%3C%2Fem%3E
这些是我的领域:
<field name="post" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
<field name="post" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
这是我的字段类型 text_general 的 solr 架构部分:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<!-- 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.WhitespaceTokenizerFactory"/>
<filter class="solr.GreekStemFilterFactory"/>
<filter class="solr.GreekLowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
B) 我可以在突出显示部分看到更令人不安的结果,即不是按预期突出显示整个单词而是突出显示单个片段:.where you get to see all of Athens ... <em>Day</em> 2 - Carmens
我不想在突出显示的部分看到这个结果(只需要看到“第 1 天”这两个词)。有什么想法吗?
我正在阅读 Solr 高亮部分,但.. 真的... 甚至没有 1 个示例!!!
【问题讨论】:
-
我对您帖子的最后一部分感到有些困惑。一开始你写道你只收到了第 1 天的回复,而最后你写道你收到了另一个回复。是哪一个?
-
所有文档都包含“第 1 天”,但在某些情况下,字段帖子可以是 =“第 1 天我做了这个和那个......第 2 天我做了那些其他的事情......”。我确定在文档部分中,结果至少包含短语 "Day 1" 。 “回复”有两种形式:文档和这些文档的突出显示版本。
标签: solr