如何存储文章的关键字

时间:2012-04-30 09:32:37

标签: solr

在SOLR中,我有一个包含id, words (indexed), raw_text个字段的文档。我想以这种方式搜索words字段: 单词是文章的不定式(或称关键字)。对于解析和词形还原(词干)我使用另一个工具,所以这不是问题的关键。

例如:对于这两篇文章(文本),单词将是:

1 昨天我没去上班,因为这是假期。

字样:昨天因为假期去上班

2 明天我要去上班,晚上去购物。

字样:明天上班,早上去商店

3 字:明天上班

在搜索“go”时,我想首先检索 2 (更具相关性)因为有更多“go”-s而不是 1 。此外,我想使用更长的查询与大量的单词,并检索文章包含大多数时间。

例如:搜索:“明天工作”将返回 2 3 更相关,因为有两个“go” - 与 3

所以问题:我该如何存储words? multiValued还是单身?应该使用哪种字段类型?

谢谢!

1 个答案:

答案 0 :(得分:1)

(单值)text适合你。

该文本带有标记化,词干分析和停止字分析器。


词干使用启发式来推导单词的根。除此之外,它甚至会以不定式形式找到你文章的根源: - )

Trying it out为您的样品(添加一些):

Original: Yesterday [yesterday's] I didn't go to work [working, workable], because it was holiday [holidays].
Stemmed: Yesterdai yesterdai s I didn t go to work work workabl becaus it wa holidai holidai
Original: Tommorrow I am going [go,going,gone] to work in the morning [mornings] and in the evening I am going shopping [shoppers, shops].
Stemmed: Tommorrow I am go go go gone to work in the morn morn and in the even I am go shop shopper shop 

因为它使用启发式,“可行”不与“工作”共享根,而“消失”不与“go”共享根。但它的权衡更简单,更快,而不会降低结果质量


并且“没有”和“我”是停用词according to this list,因此它们会被自动删除。


如果您经常发现不可接受的结果,请务必执行Wordnet。他们have引理,词性和其他自然语言的好东西。