繁体   English   中英

在 solr 架构中添加字段。xml

[英]Add field in solr schema.xml

我正在使用 solr 对我的数据库进行搜索,并尝试在 conf/schema.xml 中添加一个新字段(文章的publisher_id)以在对我的数据库进行搜索后获取publisher_id 的值,我没有找到任何与此字段等效的字段名称。 那么如何将其添加为 schema.xml 中的字段以与文章的搜索值(正文、标题、日期和发布者 ID)一起返回?

首先:publisher_id 中存储了什么样的数据? 如果它是一个数字(int,log),那么添加一个具有相应类型的字段,例如:

<field name="publisher_id" type="int" indexed="true" stored="true" />

将字段添加到 schema.xml 后,您必须重新启动 solr-instance 并重建索引。

请注意,在 Solr 4.4 和 Solr 5.0 中添加了动态字段...两者都尚未发布。

同时,如果您希望将字段添加到索引中,您有两个选择。 首先,您可以采取艰难的方式:将字段添加到架构中,清除索引,重新启动 Solr 并重新索引所有内容。 这往往有点站不住脚。

或者,您可以使用动态字段声明 如果您查看架构,您会看到如下所示的行:

<dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
<dynamicField name="*_is" type="int"    indexed="true"  stored="true"  multiValued="true"/>

这意味着如果您添加一个名称以_i_is结尾的字段,您将全部设置为 go。 这些通常在默认模式中启用,因此如果您可以灵活地调用该字段,您可能已经全部设置好了。

如果这些选项看起来都没有希望,您的第三个选择是等待 Solr 4.4 或 5.0 并升级(这也很可能需要重新索引。)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM