Ruby on rails 字母搜索WebSolr Ruby on Rails

Ruby on rails 字母搜索WebSolr Ruby on Rails,ruby-on-rails,search,alphabetical,websolr,Ruby On Rails,Search,Alphabetical,Websolr,我正试图在solr中按字母顺序搜索,但直到现在我才这么做 我想按字母搜索,我的搜索只需要检索以指定字母开头的单词,如果单词在其他地方包含字母,则不需要检索 例如: 如果我点击字母“a”,它必须返回 “蚂蚁”、“动物”等 不是 “香蕉”、“卡米洛” 我现在的控制器是这样的: @articles=太阳黑子。搜索(Article)do 关键词(参数[:q]) 分页(:page=>params[:page],:per_page=>20) 排序依据:相关性,:描述 订单人:物品订单:asc 结束 有人能帮

我正试图在solr中按字母顺序搜索,但直到现在我才这么做

我想按字母搜索,我的搜索只需要检索以指定字母开头的单词,如果单词在其他地方包含字母,则不需要检索

例如: 如果我点击字母“a”,它必须返回 “蚂蚁”、“动物”等

不是 “香蕉”、“卡米洛”

我现在的控制器是这样的:

@articles=太阳黑子。搜索(Article)do 关键词(参数[:q]) 分页(:page=>params[:page],:per_page=>20) 排序依据:相关性,:描述 订单人:物品订单:asc 结束

有人能帮忙吗?
提前感谢

这取决于您的模型如何配置为索引

将添加到schema.xml中的文本字段类型,或为使用NGram筛选器处理的文本字段创建新类型

EdgeNGramFilterFactory将每个术语转换为一组NGrams。“Dog”扩展为“d”、“do”和“Dog”

这种方法将允许您使用字母开头匹配文本字段中的任何术语。它对于扩展查询的匹配项很有用,但是如果您将其用于某种首字母过滤,那么它可能不是您想要的

'以'QueryFilter'开头 如果要测试的值是简单的标量字符串值(文章标题、类别名称、作者姓名等),则可以将该值作为字符串索引,并使用查询筛选器搜索匹配项

在太阳黑子中:

class Article
  searchable do
    # ...
    string :title
  end
end

@search = Sunspot.search(Article) do
  keywords(params[:q])
  paginate(:page => params[:page], :per_page => 20)
  where(:title).starting_with(params[:letter])
  order_by :relevance, :desc
  order_by :article_order, :asc
end

您是否也可以共享您的文章模型的
可搜索
块?