I read section on creating indexes and tutorial on graph academy about indexing. Also I checked operations manual. Maybe I'm missing something, maybe it's not important in some cases, but I want to know how different really are index types in new Neo4j.
All I could find was:
- Point index is used for spatial values
- Text index is used with
CONTAINS
andENDS WITH
operators - Full text index is used for more complex text search
- Range index - always except in previous cases
Few years ago BTree was used for all cases except Full text. Where can I find more information on how indexes are implemented? Are they all some implementations of b-trees but using different types for key (I know that for Range index, but I can't find same information for Point and Text I can just assume from comments in changelog)? Are they implemented like hash index (probably not)?
I'm asking this because when there is some significant change it is mentioned in documentation
Point indexes have supported index configuration, see the last examples, but only one index provider available,
point-1.0
Similar for Range, Text, and also for Btree when there was option in 4.3 version and before to choose provider. But if I'm not able to know anything about implementation why is provider version important? If this is really important I would like to know where I could read further about this.
Thank you for your time.