solr 有可能以更可原谅的方式索引文档吗?
目前,如果我尝试索引不适合 100% 架构的数据,我总是会收到 SolrException。如果 solr 无论如何都可以索引文档并为不正确的字段打印异常,那会更好。
solr 有可能以更可原谅的方式索引文档吗?
目前,如果我尝试索引不适合 100% 架构的数据,我总是会收到 SolrException。如果 solr 无论如何都可以索引文档并为不正确的字段打印异常,那会更好。
如果您有权访问 solr 正在运行的服务器并且可以看到日志 solr 提供了此信息。您可以在架构中设置一个设置,该设置捕获可以在下载示例中找到的所有特定类型
包罗万象的字段,包含所有其他可搜索的文本字段(在此架构中通过 copyField 进一步实现
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
稍微扩展@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" />
这将在您的架构中为尚未定义的任何字段创建动态定义,它们将被忽略。但是,它不会为您提供任何被忽略的字段/值的指示符。