How do I prevent documents from being indexed?
Last updated 22, Mar 2024
Question
How do I prevent documents from being indexed?
Answer
To prevent keys from being indexed, you can create a FILTER
at index creation time.
FT.CREATE item_idx ON JSON PREFIX 1 item: FILTER '@__key!="item:2"' SCHEMA id AS id NUMERIC
Test now adding records:
JSON.SET item:1 $ '{"id":1}'
JSON.SET item:2 $ '{"id":2}'
JSON.SET item:3 $ '{"id":3}'
And verify that FT.INFO item_idx
reports the number of indexed keys:
9) num_docs
10) "2"
You can also verify that an index scan does not return the filtered key:
FT.SEARCH item_idx * RETURN 0
1) (integer) 2
2) "item:1"
3) "item:3"
References
Learn more about the FILTER
expression.