2013-02-05 45 views
6

我已经按照here所述在Tomcat上设置了Solr 3.6.2。400不良请求:未知字段'type'

使用太阳黑子护栏宝石和我没有问题嵌入式Solr的服务器,但我的临时服务器上我得到了响应:

message ERROR: [doc=Foo 20] unknown field 'type'

description The request sent by the client was syntactically incorrect.

请求数据是这样的:

<?xml version="1.0" encoding="UTF-8"?> 
<add> 
    <doc> 
    <field name="id">Foo 20</field> 
    <field name="type">Foo</field> 
    <field name="type">ActiveRecord::Base</field> 
    <field name="class_name">Foo</field> 
    <field name="name">test</field> 
    </doc> 
</add> 

这是什么造成的?是否应该设置一些配置? (我期待的事情是允许使用type这个名字,而不管这个列是否存在)

+0

嘿已经有这个问题的解决方案 - http://stackoverflow.com/questions/13340859/cant-reindex-sunspot-solr-error-rsolrerrorhttp-500-internal-server-er –

回答

9

事实证明,sunspot-solr gem预计会有一个稍微不同于被捆绑的默认值schema.xmlsolr

我用宝石使用的文件替换了文件(从here),现在它工作正常。 This answer说明schema.xml文件是什么。

+0

你在哪里取代它?我将我在开发中生成的模式复制到生产服务器'solr_dir/example/solr'。从示例文件夹运行'java -jar start.jar' – juanpastas

+0

谢谢!需要替换的schema.xml文件存在于'//conf/schema.xml'中。 –

+0

@bdares真是太棒了!非常感谢! –