0

当我想使用多个查询和实体索引我的 solr 数据时,我需要知道推荐的解决方案是什么。我问是因为我必须在 schema.xml 配置中添加一个新字段。并且取决于实体(查询)应该有不同的字段定义。

query_one = "select * from car"
query_two = "select * fromm user"

表 car 和 user 有不同的字段,所以我应该在我的 schema.xml 配置中包含这个小事实(当我准备字段定义时)。

也许你们中的某个人为这种问题创建了一个新的 solr 实例?

我发现了所谓的多核。可以解决我的问题吗?

谢谢

4

2 回答 2

0

Solr 不会阻止您在单个集合中托管多个实体。
您可以为这两个实体定义字段并将它们托管在集合中。
如果要过滤每个实体的结果,则需要有一个标识符来标识实体。

如果您的集合很小或 User 和 Car 之间存在关系,将它们托管在同一个集合中可能会有所帮助

对于 Solr 多核检查答案 Solr 多核基本上是允许 Solr 托管多个内核的设置。
这些核心将承载一组完全不同的不相关实体。
您也可以为每个表设置一个单独的核心。

例如,如果您有文档、人员、股票的集合,这些集合是您想要托管的完全不相关的实体,然后在不同的集合中

多核设置将允许您

  1. 分别托管不相关的实体,以免它们相互影响
  2. 为具有不同行为的每个内核提供不同的配置
  3. 在每个核心上执行不同的活动(更新数据、加载、重新加载、复制)
  4. 控制核心的大小并相应地配置缓存

它更多的是偏好和要求的问题。

于 2013-07-10T05:45:42.360 回答
0

您的主要问题是人们是否会一起搜索汽车和用户。如果不是(它们是不同的域),您可以设置多个集合/核心。如果它们要一起使用(例如,搜索同时出现在汽车和人中的东西),您可能希望将它们合并到一个索引中。

如果您对这两种类型都使用单个集合,您可能需要设置专用的请求处理程序,返回不同的字段集并可能调整搜索。你可以在我书中的多语言示例中看到一个这样做的例子(还有更多) 。

于 2013-07-10T13:16:25.213 回答