Exact Keyword Match

Does Weaviate support exact keyword match? For example if I query “converse high tops”, I would expect to return data objects that only contain “converse high tops” in that exact word order as opposed to just “high tops” or “converse”. If it does support that feature, how do I enable it? TIA

Yes you can. I have a class “TranscribedWord” and I query it for individual words to get associated timecode values.

 words_in_answers = set(word.strip('.,?!\'"').lower() for word in answer['output_text'].split())

 for word in words_in_answers:
                try:
                    # Directly query for timecodes of the word
                    query_result = client.query.get(class_name="TranscribedWord", properties=["word", "start", "end"]) \
                        .with_where({
                            "path": ["word"],
                            "operator": "Equal",
                            "valueString": word
                        }) \
                        .do()
                    
                    pp.pprint(f"Query result for word '{word}': {query_result}")

Hi!

Thanks @Video_Wizards and @americanthinker
And welcome to our community :slight_smile:

If you want to search for all words, you can also use ContainsAny/ContainsAll:

Additionally, you can also leverage BM25 search:

Let me know if that helps :slight_smile: