solrsolrcloudsolrconfig

Is Solr's DatePointField a drop-in replacement for TrieDateField?


I get some deprecation warnings in my Solr 7.5 installation:

[ 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. []

The documentation just tells me that the Trie* are deprecated, and I'm unable to find a migration guide other than:

TrieDateField: Deprecated. Use DatePointField instead.

Can I just replace the Trie* field type classes and update the schema on my running Solr instance?

And what about the non-Trie fields mentioned here?


Solution

  • Whether they're drop in replacements kind of depends on your usage, but yes, they should do the same thing, just more efficiently. You will have to reindex after changing the type, though - you can't just change the schema and assume the existing data will work as you expect it to (since you'll end up with different data types when doing operations that iterate over documents).

    For the filters, they've been replaced with their Graph counterparts (SynonymGraphFilter and WordDelimiterGraphFilter).

    The LatLonType has been replaced with LatLonPointSpatialField.

    You can see a list of these changes in Major Changes in Solr 7.

    If you are using Trie* fields in your schema, you should consider moving to PointFields as soon as feasible. Changing to the new PointField types will require you to re-index your data.