Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MOD-6534: Missing values indexing - Add support to indexing pipeline #4638

Merged

Conversation

nafraf
Copy link
Collaborator

@nafraf nafraf commented May 15, 2024

Description

A clear and concise description of what the PR is solving, including:

  1. The current state briefly
  2. What is the change
  3. Adding the outcome (changed state)

Which issues this PR fixes

  1. MOD-6534

Main objects this PR modified

  1. ...
  2. ...

Mark if applicable

  • This PR introduces API changes
  • This PR introduces serialization changes

Copy link
Collaborator

@raz-mon raz-mon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great 💯
See few comments

@@ -44,6 +44,7 @@ RefManager* RediSearch_CreateIndex(const char* name, const RSIndexOptions* optio
IndexSpec* spec = NewIndexSpec(name);
StrongRef ref = StrongRef_New(spec, (RefManager_Free)IndexSpec_Free);
IndexSpec_MakeKeyless(spec);
spec->missingFieldDict = dictCreate(&dictTypeHeapStrings, NULL);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add to IndexSpec_MakeKeyless()

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

src/fork_gc.c Outdated
RedisSearchCtx_UnlockSpec(sctx);
StrongRef_Release(spec_ref);
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Free fieldName

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. Done

@nafraf nafraf marked this pull request as ready for review May 20, 2024 14:40
@raz-mon raz-mon merged commit 5aa4ede into feature_missing_values_indexing May 20, 2024
6 of 7 checks passed
@raz-mon raz-mon deleted the nafraf_missing-value-indexing branch May 20, 2024 14:45
github-merge-queue bot pushed a commit that referenced this pull request Jun 7, 2024
* MOD-6533, MOD-6581: Support MISSING indexing syntax (#4635)

* Parsing support for missing values querying (#4641)

* MOD-6534: Missing values indexing - Add support to indexing pipeline (#4638)

* Create missing index iterator for missing QueryNode (#4650)

* Patching indexing and querying pipelines together

* WIP: Adding testsMissing()

* Fix intersect problem (#4658)

* WIP: testMissing()

* WIP Add tests

* Add tests

* Test SORTABLE case

* Test Explain

* Support indexing missing values for geo, geoshape, numeric (TODO: Vector)

* Minor fixes

* Support ISMISSING in parser/v3

* Fix parseGeometryField()

* Support indexing missing values for VECTOR

* Test ismissing vector field

* Reorganize tests and test WITHSUFFIXTRIE case

* Test ft.aggregate and two ismissing fields

* JSON tests fail in cluster

* Fix IndexSpec_FreeUnlinkedData()

* IndexSpec_FreeUnlinkedData() dont delete entry

* Fix test

* Remove errors thrown for queries of non-existing fields

* Review

* Optimize missing values indexing pipeline

* Free missingFieldDict using valDestructor callback

* test_missing: Add notes to bugs unrelated to ISMISSING

* Fix JSON test

* Fix increment

* Fix missingFieldDictType

* refactor ismissing to indexmissing in index creation

* Small touchup

* Fix commands.json

* code review fixes

* Fix info test

* Check redis-py version in test_info_modules.py

* Check redis-py version for amazonlinux:2

---------

Co-authored-by: Raz Monsonego <74051729+raz-mon@users.noreply.github.com>
Co-authored-by: raz-mon <razmonsonego2@gmail.com>
Co-authored-by: Omer Shadmi <omer.shadmi@redis.com>
github-actions bot pushed a commit that referenced this pull request Jun 7, 2024
* MOD-6533, MOD-6581: Support MISSING indexing syntax (#4635)

* Parsing support for missing values querying (#4641)

* MOD-6534: Missing values indexing - Add support to indexing pipeline (#4638)

* Create missing index iterator for missing QueryNode (#4650)

* Patching indexing and querying pipelines together

* WIP: Adding testsMissing()

* Fix intersect problem (#4658)

* WIP: testMissing()

* WIP Add tests

* Add tests

* Test SORTABLE case

* Test Explain

* Support indexing missing values for geo, geoshape, numeric (TODO: Vector)

* Minor fixes

* Support ISMISSING in parser/v3

* Fix parseGeometryField()

* Support indexing missing values for VECTOR

* Test ismissing vector field

* Reorganize tests and test WITHSUFFIXTRIE case

* Test ft.aggregate and two ismissing fields

* JSON tests fail in cluster

* Fix IndexSpec_FreeUnlinkedData()

* IndexSpec_FreeUnlinkedData() dont delete entry

* Fix test

* Remove errors thrown for queries of non-existing fields

* Review

* Optimize missing values indexing pipeline

* Free missingFieldDict using valDestructor callback

* test_missing: Add notes to bugs unrelated to ISMISSING

* Fix JSON test

* Fix increment

* Fix missingFieldDictType

* refactor ismissing to indexmissing in index creation

* Small touchup

* Fix commands.json

* code review fixes

* Fix info test

* Check redis-py version in test_info_modules.py

* Check redis-py version for amazonlinux:2

---------

Co-authored-by: Raz Monsonego <74051729+raz-mon@users.noreply.github.com>
Co-authored-by: raz-mon <razmonsonego2@gmail.com>
Co-authored-by: Omer Shadmi <omer.shadmi@redis.com>
(cherry picked from commit 924f700)
github-merge-queue bot pushed a commit that referenced this pull request Jun 7, 2024
MOD-6532: Support indexing of missing values (#4682)

* MOD-6533, MOD-6581: Support MISSING indexing syntax (#4635)

* Parsing support for missing values querying (#4641)

* MOD-6534: Missing values indexing - Add support to indexing pipeline (#4638)

* Create missing index iterator for missing QueryNode (#4650)

* Patching indexing and querying pipelines together

* WIP: Adding testsMissing()

* Fix intersect problem (#4658)

* WIP: testMissing()

* WIP Add tests

* Add tests

* Test SORTABLE case

* Test Explain

* Support indexing missing values for geo, geoshape, numeric (TODO: Vector)

* Minor fixes

* Support ISMISSING in parser/v3

* Fix parseGeometryField()

* Support indexing missing values for VECTOR

* Test ismissing vector field

* Reorganize tests and test WITHSUFFIXTRIE case

* Test ft.aggregate and two ismissing fields

* JSON tests fail in cluster

* Fix IndexSpec_FreeUnlinkedData()

* IndexSpec_FreeUnlinkedData() dont delete entry

* Fix test

* Remove errors thrown for queries of non-existing fields

* Review

* Optimize missing values indexing pipeline

* Free missingFieldDict using valDestructor callback

* test_missing: Add notes to bugs unrelated to ISMISSING

* Fix JSON test

* Fix increment

* Fix missingFieldDictType

* refactor ismissing to indexmissing in index creation

* Small touchup

* Fix commands.json

* code review fixes

* Fix info test

* Check redis-py version in test_info_modules.py

* Check redis-py version for amazonlinux:2

---------

Co-authored-by: Raz Monsonego <74051729+raz-mon@users.noreply.github.com>
Co-authored-by: raz-mon <razmonsonego2@gmail.com>
Co-authored-by: Omer Shadmi <omer.shadmi@redis.com>
(cherry picked from commit 924f700)

Co-authored-by: nafraf <nafraf@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants