Skip to content

SOLR-18251: Introduced docValuesSkipList='true' field property#4509

Open
VadimKirilchuk wants to merge 1 commit into
apache:mainfrom
VadimKirilchuk:feature/SOLR-18251-dv-skip-list
Open

SOLR-18251: Introduced docValuesSkipList='true' field property#4509
VadimKirilchuk wants to merge 1 commit into
apache:mainfrom
VadimKirilchuk:feature/SOLR-18251-dv-skip-list

Conversation

@VadimKirilchuk

Copy link
Copy Markdown

https://issues.apache.org/jira/browse/SOLR-18251

Description

Introduced docValuesSkipList='true' field property to allow creating DocValues Field instances with optional skip list index support, improving query performance.

Solution

Added a new boolean field property docValuesSkipList that can be set to true in schema field definitions (only fields supporting Numeric, Sorted Numeric, Sorted and Sorted Set doc value types). When enabled, Solr creates DocValues fields with an additional skip index, which enables more efficient range queries on DocValues. When not set (default false), standard DocValues fields are created without the skip index.

Changes include:

  • New utility class DocValuesFieldUtil with methods to create DocValues fields with or without skip indexes (createSortedDocValuesField, createSortedSetDocValuesField, createNumericDocValuesField, createSortedNumericDocValuesField)
  • Updated all DocValues-enabled field types (BoolField, CollationField, EnumFieldType, PointField, StrField, TrieField, SortableTextField, ICUCollationField) to respect the new property when creating DocValues fields
  • Extended SchemaField and FieldProperties to expose the property in schema configuration

Tests

  • Added REST API validation via TestFieldResource
  • Comprehensive test suite DocValuesSkipListTest covering all DocValues field types (single and multi-valued)
  • Test schema schema-docValuesSkipList.xml with full coverage of all DocValues types

Checklist

Please review the following and check all that apply:

  • I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
  • I have created a Jira issue and added the issue ID to my pull request title.
  • I have given Solr maintainers access to contribute to my PR branch. (optional but recommended, not available for branches on forks living under an organisation)
  • I have developed this patch against the main branch.
  • I have run ./gradlew check.
  • I have added tests for my changes.
  • I have added documentation for the Reference Guide
  • I have added a changelog entry for my change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant