2012-02-20 57 views
3

当我搜索单词“fish”时,我找回包含该单词和该单词变体的文档列表。如果我打开突出我可能会看到一个片段,它看起来像这样: 法律规定,任何人<em>钓鱼</em>公共湖泊...获取Solr突出显示的术语列表

我想向用户显示上面的代码,它通过工作得很好方式,但我也想向用户展示一个完整的单词列表,如果我显示了所有片段,这些单词也会突出显示。

比如我希望能够向用户显示以下内容:

第18.32A - 狩猎和捕鱼 ......法律规定,在公共湖泊人<em>钓鱼</em> ... 文档还包含:鱼,捕鱼,渔夫

是你的方式让其他词语列表比具有高的Solr点亮整个文档,然后解析文档寻找电子标签并生成突出显示的文字列表?

+1

我想你将不得不从文档中提取**所有**片段,以便它易于提取。您将不得不使用[突出显示选项](http://wiki.apache.org/solr/HighlightingParameters)来获取大量片段,每个片段通过深入到文档中来获得小尺寸片段。您可能需要在两个字段中复制数据(是的,它很丑),一个字段显示可读片段,另一个字段获取同一词干的词(参见词干)。 – aitchnyu 2012-02-20 18:32:53

回答

1

我会研究碎片大小(hl.fragsize),同义词(synonym.txt)或词干(可以帮助查找单词的变体)以找到解决方案。你可以设置鱼类,钓鱼,在同义词中捕获所有的意思。确保您了解展开全部是如何工作的,以及您是否希望搜索替换每个展开。同时确保您知道是否索引同义词文件或查询。不要在索引和查询时使用同义词。还有一个开关可以在突出显示中启用多个匹配。