0

在我正在进行的一个小项目中,我一直在使用 Ferret 作为我的全文搜索引擎。

通过在线文档和一些示例,我已经能够使用全文索引将标签云生成器组合在一起,以帮助使用该IndexReader.terms方法生成标签云。

到目前为止,当我想根据搜索结果获取术语数据时,它工作得很好。

例如,如果用户搜索“cake”,我想向他们展示与“cake”相关联的术语标签云。

我一直在寻找terms可以将该方法与搜索结果集或类似方法结合使用的示例?

目前我正在使用以下方法来生成我的标签列表:

reader = Ferret::Index::IndexReader.new(Scrape.find_last_index_version)
terms = []
reader.terms(:all_quotes).each do |term, doc_freq|
    terms << [term, doc_freq]
end

干杯。

4

1 回答 1

0

它更像是一个词频图表(像一个 wordle)而不是标签云?还是这些在标签字段中?无论如何,索引不会跟踪每个可能的文档子集中的词频(例如搜索结果),因此该方法不会很快,即使它存在。对于单个文档,您可以获得 TermFreqVector 并提供与该文档中的其他常用术语很好匹配的建议文档。因此,您可以获取一些顶级结果,从每个结果中获取术语向量,然后将它们相加,但是这些聚合函数本身并不存在(它们通常会尽量不放慢操作。)

于 2009-12-16T15:12:15.383 回答