首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >solr中的动态fieldType分配

solr中的动态fieldType分配
EN

Stack Overflow用户
提问于 2014-04-25 17:22:34
回答 2查看 85关注 0票数 0

我有一个场景,我希望动态地将传入的文档字段分配给两个不同的solr模式fieldTypes。一个fieldType将是‘完全匹配’的fieldType,而另一个将是‘全文’fieldType。字段将遵循可预测的模式,但无法使用dynamicField类型识别该模式,也不会提前知道该模式。

下面是我需要处理的字段名的一个例子:

FOO_BAR_TEXT_1

FOO_BAR_TEXT_2

WIDGET_BAR_TEXT_3

WIDGET_BAR_TEXT_4

--

FOO_BAR_SELECT_1

FOO_BAR_SELECT_2

WIDGET_BAR_SELECT_1

以上字段将不会预先定义。我需要将所有名为__BAR_SELECT_的字段映射到fieldType of 'exactMatch‘,并且需要将所有具有名称_BAR_TEXT__的字段映射到’_BAR_TEXT__‘的fieldType。当文档被索引时,我希望有一种动态地完成这个任务的方法。

EN

回答 2

Stack Overflow用户

发布于 2014-04-25 22:58:58

您试过使用solr动态字段吗?

https://cwiki.apache.org/confluence/display/solr/Dynamic+Fields

基本上看起来是这样的:

显然,您需要为这些类型创建自己的定义(或使用现有的定义)。

票数 0
EN

Stack Overflow用户

发布于 2014-04-26 18:50:30

目前不可能创建像*_BAR_SELECT_*这样的字段。

旧solr wiki中,以及在collection1 schema.xml文件中,这是对动态字段的一个限制:

RESTRICTION: the glob-like pattern in the name attribute must have a "*" only at the start or the end.

但是,如果您将名称更改为(例如,BAR_SELECT_* ),则可以动态地创建字段"BAR_TEXT_FOO_1“、"BAR_TEXT_FOO_2”、"BAR_TEXT_WIDGET_3“等等。

如下所示:

代码语言:javascript
复制
<dynamicField name="BAR_TEXT_*" type="fulltext" />
<dynamicField name="BAR_SELECT_*" type="exactMatch" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23299434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档