原谅solr索引

时间:2013-01-07 14:38:47

标签: solr

solr有可能以更可原谅的方式索引文档吗?

目前,如果我尝试索引数据并且不适合百分之百的架构,我总是会得到SolrException。如果solr无论如何都可以索引文档并为不正确的字段打印例外,那会更好。

2 个答案:

答案 0 :(得分:1)

如果您有权访问服务器solr正在运行,并且可以看到日志solr提供此信息。您可以在架构中放置一个设置,该架构捕获可在下载示例中找到的所有特定类型

catchall字段,包含所有其他可搜索的文本字段(已实现         通过此架构中的copyField进一步

   <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

答案 1 :(得分:0)

在@Si Philp的答案上稍微扩展一下。如果查看Solr发行版附带的示例schema.xml,您将看到以下条目:

<!-- uncomment the following to ignore any fields that don't already match an existing 
    field name or dynamic field, rather than reporting them as an error. 
    alternately, change the type="ignored" to some other type e.g. "text" if you want 
    unknown fields indexed and/or stored by default --> 
<!--dynamicField name="*" type="ignored" multiValued="true" /-->

<!-- since fields of this type are by default not stored or indexed,
     any data added to them will be ignored outright.  --> 
<fieldtype name="ignored" stored="false" indexed="false" multiValued="true"
  class="solr.StrField" />

这将在您的架构中为尚未定义的任何字段创建动态定义,它们将被忽略。但是,它不会为您提供任何被忽略的字段/值的指示。