太阳黑子只返回一个匹配的术语而忽略其余的术语?

时间:2012-11-29 14:31:03

标签: ruby-on-rails sunspot

我刚安装了Sunspot gem

这是我的设置:

post.rb:

class Post < ActiveRecord::Base
  include ActionView::Helpers

  attr_accessible :title, :content, :category_id, :tag_list

  has_many :replies, dependent: :destroy


  searchable do
    text :title, boost: 5
    text :content
    text :replies do
      replies.map { |reply| reply.content }
    end
  end
  .
  .
  .

posts_controller.rb:

class PostsController < ApplicationController

  def index
    if signed_in?
      @search = Post.search do
        fulltext params[:search]
      end
      #@post = current_user.posts.build
      #@feed_items = current_user.feed.results.paginate(page: params[:page])
      @feed_items = @search.results
    end
    .
    .
    .

routes.rb中:

 resources :posts do
    resources :votes
    resources :replies
  end

我在搜索帖子:title:content时会返回更正结果。搜索回复:content属性时会发生奇怪的事情。

我在3个不同的帖子中搜索了3个不同的字词:scala, groovy, python。只有'scala'正在返回一些内容。我甚至在另一篇文章'scala'中创建了另一个回复,但结果只返回了第一个回复。

这是输出(只有第一个返回结果):

enter image description here

enter image description here

enter image description here

导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

我发现了。我不得不这样做:

bundle exec rake sunspot:solr:reindex