2011-05-23 80 views
3

正如我在标题中所说的,我想在突出显示时搜索完整句子。Solr突出显示:提取完整句子

其实,我得到的结果是在一个词的中间被切断。

例如,如果我正在搜索单词“完成”,我得到ying in title, i want to get a complete sentence wh,但我想要完整的句子As I'm saying in title, i want to get a complete sentence when i search with highlighting

我已经试过使用“碎片”,但我没有任何结果。

任何人都可以帮助我吗?

感谢和抱歉我的英语。

+0

你能举个例子,目前的行为是什么,你的目标是什么? – 2011-05-24 11:47:32

+0

当我使用突出显示时,我得到一个单词中间的句子。如果我正在为例如“完整”而进行研究,那么我会得到“英文标题,我想得到一个完整的句子”,但我想要完整的句子“正如我在标题中所说的,我想要在我搜索突出显示“。 – bobosh 2011-06-14 07:33:14

+0

或者,如果我不能有一个完整的句子,我想单词不被削减。 – bobosh 2011-06-14 11:59:04

回答

0

我想你找到你的答案在这里:http://wiki.apache.org/solr/HighlightingParameters

看看参数hl.snippets和hl.fragsize,wehere您可以定义返回的片段的长度 - 所以你可以设置的值到字段大小(如果字段不那么大)。

你的情况的其他有趣的参数是hl.fragmenter

+0

我知道这个参数,但是单词被剪切...我不能使用完整的字段,因为很多文档如pdf,doc都被编入索引。 – bobosh 2011-06-14 12:18:19

+0

但我不知道hl.fragmenter参数。你有一些例子吗? – bobosh 2011-06-14 12:21:22

+0

看看这个:http://stackoverflow.com/questions/364301/solr-using-regex-fragmenter-to-extract-paragraphs – 2011-06-14 12:56:51

1

另外,请检查您是否请求处理或查询参数hl.useFastVectorHighlighter设置为true。如果它生成摘要的字段未使用维基中提及的正确术语设置进行设置,则可能会按照您的描述切割。

+0

我们对'FastVectorHighlighter'有同样的问题:它在开始时经常会截断这个词。我怀疑'org.apache.lucene.search.vectorhighlight.SimpleFragListBuilder'是问题的根源,它似乎在片段的开头添加了6个字符的边距。无论如何,你可以用'margin = 0'来提供你自己的'FragListBuilder'实现来解决这个问题。 – raymi 2011-07-01 08:11:15

0

得到几乎相同的问题切词。正如我刚刚通过here所提到的那样,您可以使用另一个BoundaryScanner。 这给了我完美的结果。