使用分片,我们可以在多个内核中进行搜索
http://localhost:8983/solr/Core_2/select?shards=localhost:8983/solr/Core_2,localhost:8983/solr
/Core_3&indent=true&q=Material_Number:"901751A/U" OR Material_type:"type1"
这里我叫 Core_2 和 Core_3 ,其中以下是两个内核中可用的字段
1。物料编号
2。 Material_type
有可能使用核心之一中的字段进行搜索
EG。
http://localhost:8983/solr/Core_2/select?shards=localhost:8983/solr/Core_2,localhost:8983/
solr/Core_3&indent=true&q=Material_Number:"901751A/U" OR Material_type:"type1" OR
field_of_Core_2:" search-text" OR field_of_Core_3:"search-text"
这会引发我错误
从上方,例如
1。 field_of_Core_2 是 Core_2
1中的字段。 field_of_Core_3 是 Core_3
答案 0 :(得分:0)
您要搜索的节点(即您要针对其进行查询的节点)必须了解两个模式中的所有字段-否则会给您一个未知的字段错误消息。
在您的情况下,应该对名为Common_Core
或类似名称的内核进行查询,并且该内核必须具有同时定义了field_of_Core_2
和field_of_Core_3
且正确的模式类型。
然后您将查询该新的通用核心:
您还可以在自定义请求处理程序中定义分片选择参数,以便任何查询都可以像使用其他任何核心(即Common_Core
或其他任何东西一样使用customRequestHandlerName
和http://localhost:8983/solr/Common_Core/sharded
这样)。