Skip to content

Conversation

@KarthikSubbarao
Copy link
Member

@KarthikSubbarao KarthikSubbarao commented Oct 29, 2025

  • Escape Char Handling of fulltext content that enables users to escape query syntax characters
  • Query syntax compat improvements
  • Default text field (no field specification) handling
  • Index based Punctuation
  • Stemming, Stopwords
  • Updated TextPredicate structures
  • Applying the text properties based on the FT.SEARCH command arguments

Added unit and integ testing

Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
…ed next using left to right parsing. folding the build fn into the parse fn

Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
…order/stemming conditionally

Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
…ithout losing meaning

Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
Comment on lines +668 to +671
auto text_identifiers = index_schema_.GetAllTextIdentifiers();
for (const auto& identifier : text_identifiers) {
filter_identifiers_.insert(identifier);
}
Copy link
Member

Choose a reason for hiding this comment

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

Hmm, this list is a duplicate of the information that's in the field_mask. If the IndexSchema had a reverse mapping of field_mask bit position to TextIndex, then you wouldn't need to carry both around.

@allenss-amazon allenss-amazon added the FT Pertains to the Full-Text project label Nov 2, 2025
Signed-off-by: Karthik Subbarao <[email protected]>
Signed-off-by: Karthik Subbarao <[email protected]>
@KarthikSubbarao KarthikSubbarao merged commit a73aa8b into valkey-io:fulltext Nov 7, 2025
7 of 9 checks passed

void* TextPredicate::Search(bool negate) const {
// TODO: Add logic to calculate the size based on number of keys estimated.
auto fetcher = std::make_unique<indexes::Text::EntriesFetcher>(
Copy link
Collaborator

@daddaman-amz daddaman-amz Nov 19, 2025

Choose a reason for hiding this comment

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

Do you remember why the size was hard-coded as zero?

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

Labels

FT Pertains to the Full-Text project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants