我似乎被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>
但是faceting是不可能的,因为我不知道每个docID会得到多少个单词字段,然后faceting必须跨字段完成(我甚至不确定这是可能的)。我试图寻找可能的答案,但我似乎被困住了……最后,我需要对n个单词进行faceting,以获得索引中的每个文档。
我建议使用一个多值的单词字段,并存储每个文档的单词列表。
使用未绑定的wordd+字段会使事情变得复杂。
如果你使用单个单词多值字段,你可以得到所有的单词以及它们的频率,这应该足以创建标签云