我正在将使用acts_as_solr的Rails应用程序转换为太阳黑子。如何在太阳黑子中动态构建搜索块?
该应用程序使用solr中的字段搜索功能,该功能在acts_as_solr中公开。你可以给它一个这样的查询字符串:
title:"The thing to search"
它会在标题字段中搜索该字符串。
在转换为太阳黑子时,我正在解析查询字符串的字段特定部分,我需要动态生成搜索块。事情是这样的:
Sunspot.search(table_clazz) do keywords(first_string, :fields => :title) keywords(second_string, :fields => :description) ... paginate(:page => page, :per_page => per_page) end
这是通过也需要做持续时间(秒,整数)范围和否定,如果查询需要变得复杂。
在当前系统上,用户可以在标题中搜索某些内容,但不包括其他字段中的其他字段的记录以及按持续时间确定范围。
简而言之,如何动态生成这些块?
只是一个想法:我们可以在红宝石创建块动态,并把它传递给搜索功能? – 2012-03-12 08:00:18