mysql - sunspot solr 未定义字段类型

标签 mysql ruby-on-rails solr sunspot sunspot-rails

我的 sunspot 和 solr 有问题。在开发中它像魅力一样工作但在生产中我从我的 Rails 生产日志中得到以下错误:

RSolr::RequestError(Solr 响应:未定义字段类型): app/controllers/search_controller.rb:7:在“索引”中

我想这与 schema.xml 有关系。但我对 solr 很陌生。那么有人可以帮助我吗?

确定:
Controller

def index
 unless params[:q].blank?
  @search = Question.search do
    fulltext params[:q]
  end
  @results = @search.results

else
  @results = nil
end
@searchterm = params[:q]

结束

模型(问题)

...

searchable do
  text :title 
  text :content
end

最佳答案

听起来您的生产 Solr 实例没有使用 Sunspot 的 schema.xml

type 字段应该在 Sunspot 的标准 schema.xml 中定义,它用于索引对象的模型名称,以便稍后用于过滤搜索。看到一条错误消息说 type is undefined 对我来说这意味着您正在使用 Sunspot 以外的 schema.xml

这可能是因为您正在使用您在服务器上安装 Solr 时使用的方法中的一些其他示例或默认配置集。如果可以,请详细说明如何设置生产 Solr 服务器。

关于mysql - sunspot solr 未定义字段类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7104673/

相关文章:

sql - "select max"和 "select.. where column=max"有什么区别?

mysql - 如何为带有促销/折扣的购物车设置数据库模式?

javascript - 如何在另一个图像 rails 的图像标签内添加 src 图像路径

javascript - Foundation Reveal Modal 超出可见区域

ruby-on-rails - Sunspot Solr Search like Rails active record 'LIKE' search

mysql - SQL Like 不带 _

mysql - 每条记录的数据至少出现一次

ruby-on-rails - 为什么这个 RSpec 示例需要 "let!"而不是 "let"?

solr - DSE 搜索 - Solr 多值字段架构无法与 CAS 架构映射 :(

java - log4j syslogappender 堆栈跟踪输出不在同一行