DocValues

DocValues
在搜索引擎中,我们通常都是对域名(field)构建倒排索引(inverted index),实现了域值(Values)到文档(document)的映射,而DocValues则是构建了一个正向索引,实现文档到域值的映射。下面是官方给出的DocValues的介绍https://wiki.apache.org/solr/DocValues=
What docvalues are:
- NRT-compatible: These are per-segment datastructures built at index-time and designed to be efficient for the use case where data is changing rapidly.
- Basic query/filter support: You can do basic term, range, etc queries on docvalues fields without also indexing them, but these are constant-score only and typically slower. If you care about performance and scoring, index the field too.
- Better compression than fieldcache: Docvalues fields compress better than fieldcache, and “insanity” is impossible.
- Able to store data outside of heap memory: You can specify a different docValuesFormat on the fieldType (docValuesFormat=“Disk”) to only load minimal data on the heap, keeping other data structures on disk.
What docvalues are not:
- Not a replacement for stored fields: These are unrelated to stored fields in every way and instead datastructures for search (sort/facet/group/join/scoring).
- Not a huge improvement for a static index: If you have a completely static index, docvalues won’t seem very interesting to you. On the other hand if you are fighting the fieldcache, read on.
- Not for the risk-averse: The integration with Solr is very new and probably still has some exciting bugs!
DocValues的类型
DocValues目前主要有五种类型,随后的博客中会一一详细介绍
Comments