Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr 部分架构共享-可能吗?_Solr - Fatal编程技术网

Solr 部分架构共享-可能吗?

Solr 部分架构共享-可能吗?,solr,Solr,我们有大量的Solr核心,它们共享相同的字段,但对某些字段类型(例如,不同语言)有不同的定义 例如,在下面的示例中,我有一个text类型的full_text字段,它存在于两个不同的核心中,但我对每个核心中的text字段应用了不同的过滤器 核心1 核心2 由于我们有20多个内核,因此很难维护和更新字段集 有没有办法从某个父项继承字段并重写(或应用某种转换)字段类型定义?到目前为止,我的搜索没有找到任何结果。1。提取公共字段类型 你可以用它来处理这件事。您需要将字段类型写入自己的XML文件,

我们有大量的Solr核心,它们共享相同的字段,但对某些字段类型(例如,不同语言)有不同的定义

例如,在下面的示例中,我有一个
text
类型的
full_text
字段,它存在于两个不同的核心中,但我对每个核心中的
text
字段应用了不同的过滤器

核心1

核心2

由于我们有20多个内核,因此很难维护和更新字段集

有没有办法从某个父项继承字段并重写(或应用某种转换)字段类型定义?到目前为止,我的搜索没有找到任何结果。

1。提取公共字段类型 你可以用它来处理这件事。您需要将字段类型写入自己的XML文件,然后将该文件包含在这些schema.XML文件中

Paige Cook回答了一个类似的问题


然后在新的
字段\u types.xml
中,您将获得类型定义


2.使用core.properties定义可变零件 从您的示例中可以看出,每个核心似乎都有一种专门为其设计的语言。您可以将这种语言放入
core.properties中。
这是驻留在每个核心中的属性文件,Solr 4.4引入了以下内容

在core.properties中,您可以引入新属性,例如名为
typeLanguage

name=core-1
loadOnStartup=false
typeLanguage=English
然后,可以使用
${xxx}
表示法,如
language=“${typeLanguage}”



有一件事是这样的——当我试图包含来自当前核心之外的文档(为了在核心之间共享字段而必需)时,我收到一个错误,告诉我不能包含来自当前实例之外的文件,但我可以通过启用不安全的资源加载来覆盖它。这是一件正常和/或安全的事情吗?一个类似的问题已经被提出。理想的解决方法是使用符号链接。