4

我在安装 Solr 7.5 时收到了一些弃用警告:

[ WARN] 16:38:36  Solr loaded a deprecated plugin/analysis class [solr.TrieIntField]. Please consult documentation how to replace it accordingly. []
[ WARN] 16:38:36  Solr loaded a deprecated plugin/analysis class [solr.TrieFloatField]. Please consult documentation how to replace it accordingly. []
[ WARN] 16:38:36  Solr loaded a deprecated plugin/analysis class [solr.TrieLongField]. Please consult documentation how to replace it accordingly. []
[ WARN] 16:38:36  Solr loaded a deprecated plugin/analysis class [solr.TrieDoubleField]. Please consult documentation how to replace it accordingly. []
[ WARN] 16:38:36  Solr loaded a deprecated plugin/analysis class [solr.TrieDateField]. Please consult documentation how to replace it accordingly. []
[ WARN] 16:38:36  Solr loaded a deprecated plugin/analysis class [solr.LatLonType]. Please consult documentation how to replace it accordingly. []
[ WARN] 16:38:37  Solr loaded a deprecated plugin/analysis class [solr.WordDelimiterFilterFactory]. Please consult documentation how to replace it accordingly. []
[ WARN] 16:38:37  Solr loaded a deprecated plugin/analysis class [solr.SynonymFilterFactory]. Please consult documentation how to replace it accordingly. []

文档只是告诉我 Trie* 已被弃用,除了以下内容,我找不到迁移指南:

TrieDateField: Deprecated. Use DatePointField instead.

我可以只替换 Trie* 字段类型类并更新正在运行的 Solr 实例上的架构吗?

那么这里提到的非 Trie 字段呢?

4

1 回答 1

3

它们是否是替代品取决于您的使用情况,但是是的,它们应该做同样的事情,只是效率更高。但是,您必须在更改类型后重新索引 - 您不能只更改架构并假设现有数据将按您预期的方式工作(因为在执行迭代文档的操作时最终会使用不同的数据类型)。

对于过滤器,它们已被替换为对应的 Graph(SynonymGraphFilter 和 WordDelimiterGraphFilter)。

LatLonType 已替换为 LatLonPointSpatialField。

您可以在 Solr 7 中的主要更改中查看这些更改的列表。

如果您在架构中使用 Trie* 字段,则应考虑尽快迁移到 PointFields。更改为新的 PointField 类型将需要您重新索引数据。

于 2018-10-23T20:26:11.020 回答