A single-header C++ Boolean search library for streaming applications.
- UTF-8
- AND, OR, NOT, NEAR, ONEAR operators
- Wildcards
- Unicode normalization
boolean_matcher::matcher m("apple AND orange");
if (m.match("I've got an apple and an orange")) {
std::cout << "A match was found\n";
}
- Add maximum distance to NEAR and ONEAR (e.g.
NEAR/1
) - Add support for wstrings
- Add support for pairs and tuples
- Add interface for metadata queries (e.g.
.timestamp > "2024-10-01"
) - Allow wildcards inside terms (e.g.
w*d
) - Add comparison operators and arithmetics
- Add filtering
- Add better lexer and parser
- Embeddings / Document vectors
- utf8proc