首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr:需要动态创建字段

Solr:需要动态创建字段
EN

Stack Overflow用户
提问于 2015-09-16 21:49:02
回答 2查看 796关注 0票数 1

我把solr看作是文档集合的搜索引擎,在这里我们事先不知道文档中数据项的类型。这个是可能的吗?好吧,这可能很清楚,就像泥一样,下面是一个例子。

用户可以动态创建文档类型。因此,他们可能会为具有字段名(文本字符串)、年龄(非负数)和性别(布尔值)的人创建文档类型。另一个用户可能会用make (文本字符串)、enginesize (非负数)和neworused (布尔值)为cars创建另一个文档类型。

我们可以使用whoosh ( python搜索引擎)来处理这个问题,方法是为每个文档类型创建一个单独的whoosh模式,因此我们将为第一个文档类型提供一个模式,指定要索引的字段和相应的whoosh数据类型(当不再需要该模式时,我们可以销毁它)。

我能和solr做这样的事吗?顺便说一句,将schema.xml更改为添加新的字段类型不是一种选择:文档类型是完全动态的,它们的字段在创建后可能会更改,并且可能会有成千上万的字段。

希望这有意义!这可能是完全微不足道的,所以请接受索尔诺布的道歉。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-17 20:18:31

这已经支持了很长一段时间,在Solr的动态字段。实际上,如果您查看示例(例如技术产品),您将看到_s、_ss等动态字段定义。

因此,您只需将字段命名为后缀(或前缀),以指示类型,并且它只起作用。

下一个问题是搜索哪些字段。例如,模式是通过将所有这些复制到泛型字段并使用它们来完成的,但是它不那么灵活。

您可能希望使用eDisMax并显式地指定字段列表。或者,使用最近的- 配置API动态保存这些字段列表。

票数 1
EN

Stack Overflow用户

发布于 2015-09-17 09:43:29

如果我在您的位置,我可能已经使用了solr的模式。在这种情况下,除了id (可选)和版本字段之外,您不需要为文档提供完整的架构。您需要在ManagedIndexSchemaFactory中使用schemaFactory作为solrconfig.xml。这将在文档被索引时继续将字段添加到schema.xml中。您需要在requestHandler中的/update solrconfig.xml中包含其他更新链。使用下面的资源获取更多信息。

无模式

在无模式模式下使用Solr

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32619350

复制
相关文章

相似问题

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