gpt4 book ai didi

solr - Solr 字段类型如何在多个内核之间共享?

转载 作者:行者123 更新时间:2023-12-04 20:52:16 32 4
gpt4 key购买 nike

是否可以分享Solr fieldType s 定义于 schema.xml多核之间?

我在 Solr 中有许多核心,发现自己正在重新定义 fieldType s 仅基于内置过滤器和分词器。例如

<fieldType name="exact" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<filter class="solr.LowerCaseFilterFactory"/>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<filter class="solr.LowerCaseFilterFactory"/>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>

我知道我可以自己写 Field类并在内核之间共享它,但是当自定义代码仅配置标准过滤器时,创建对自定义代码的依赖似乎很愚蠢。有没有更好的办法?

请注意,与其他一些示例(配置停用词和字符转换等)相比,上面的示例很简单。

最佳答案

使用 XInclude 可以在多个核心之间共享 schema.xml、solrconfig.xml 中的“通用”定义等字段类型.

<?xml version="1.0" encoding="UTF-8" ?>
<!-- common-types.xml -->
<types>
<fieldType name="exact" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<filter class="solr.LowerCaseFilterFactory"/>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<filter class="solr.LowerCaseFilterFactory"/>
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>
</types>

并在您的 schema.xml 中使用它,如下所示:
<schema version="1.1">
<types>
<!-- Other types here -->
</types>
<xi:include href="file:/path/to/common-types.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
</schema>

注意:包含的 XML 文件必须是单个根节点。

关于solr - Solr 字段类型如何在多个内核之间共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9190269/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com