Solr 驱动的标签云

3

我似乎陷入了Solr分面驱动标签云的逻辑困境中。首先,我使用OpenNLP解析我的文档并从中获取相关单词,因此每个文档都会被分成n个单词。以下是我的Solr响应的基本情况:

<docID>
<title>My Doc Title</title>
<content>My Doc Title</content>
<date_published>My Doc Title</date_published>
</docID>

我相信一定有方法将这里的文字整合起来。我最初想到的是这样的:

<docID>
<title>My Doc Title</title>
<content>My Doc Title</content>
<date_published>My Doc Title</date_published>
<words>word</words>
<words1>word1</words1>
<words2>word2</words2>
<words3>word3</words3>
<wordsN>wordN</wordsN>
</docID>

但是,由于我不知道每个docID会得到多少个单词字段,因此无法进行分面处理,那么分面处理必须跨越字段完成(我甚至不确定是否可能)。我正在尝试寻找可能的答案,但似乎陷入了困境...最终,我需要对n个单词进行分面处理,以获取我的索引中的每个单个文档。非常感谢您的想法。

1个回答

2
我建议使用一个多值的单词字段,将每个文档的单词列表存储其中。
使用无限数量的单词\d+字段会使事情更加复杂。
如果您使用单个单词的多值字段,则可以获取所有单词及其频率,这应该足以创建标记云。

谢谢,我之前没有研究过Solr中的多值字段选项。据我所知,可以正确地对多值字段进行分面处理...现在正在编写一些代码来测试它。 - Osvaldo Mercado

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接