Ruby on rails 使用雪貂构建独特的标记云
我一直在一个小项目中使用Ferret作为全文搜索引擎 通过文档和一些在线示例,我已经能够使用全文索引整合标记云生成器,以帮助使用Ruby on rails 使用雪貂构建独特的标记云,ruby-on-rails,tags,ferret,Ruby On Rails,Tags,Ferret,我一直在一个小项目中使用Ferret作为全文搜索引擎 通过文档和一些在线示例,我已经能够使用全文索引整合标记云生成器,以帮助使用IndexReader.terms方法生成标记云 到目前为止,当我想要基于搜索结果获取术语数据时,它工作得相当好 例如,如果用户搜索“蛋糕”,我想向他们显示一个与“蛋糕”相关联的术语标记云 我一直在寻找terms方法可以与搜索结果集或类似内容结合使用的示例 目前,我正在使用以下方法生成标记列表: reader = Ferret::Index::IndexReader.n
IndexReader.terms
方法生成标记云
到目前为止,当我想要基于搜索结果获取术语数据时,它工作得相当好
例如,如果用户搜索“蛋糕”,我想向他们显示一个与“蛋糕”相关联的术语标记云
我一直在寻找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
reader=Ferret::Index::IndexReader.new(Scrape.find\u last\u Index\u版本)
术语=[]
reader.terms(:所有引号)。每个do | term,doc | freq|
术语它更像术语频率图(像单词)而不是标签云?或者这些在标记字段中?无论如何,索引不会在每个可能的文档子集(例如搜索结果)中跟踪术语频率,因此该方法不会很快,即使它存在。对于单个文档,您可以获取TermFreqVector并提供建议文档,这些文档与该文档中的其他常用术语非常匹配。因此,您可以获取一些最重要的结果,从每个结果中获取术语向量,然后将它们相加,但是这些聚合函数并不存在(它们通常不会在其中放入缓慢的操作)