Error in filtering `with_where `

where_filter = {‘operator’: ‘Or’, ‘operands’: [{‘path’: [‘source’], ‘operator’: ‘Equal’, ‘valueText’: ‘’}]}

search_results = client.query.get(“Data”, [‘content’, ‘source’])
.with_near_text({“concepts”: ques})

I am doing the above operation. But the result contains the source with URL →

where filter checks for exact matches, right? Then how is it returning sources with different URLs ?

Hi @ananthan-123 ! Welcome back :slight_smile:

Your property source probably has WORD as its tokenization setting. (the default one).

This is how you can check that using the new python v4 client:

import weaviate
client = weaviate.connect_to_local()
collections = client.collections.list_all()
for k,v in collections.items():
    for property in
        print(k,, property.tokenization)

You will want to set your property tokenization to FIELD so it index the whole field.

Here more info on Tokenization:

Unfortunatelly, this configuration is not mutable:

So you need to reindex your data on a new class, with this property changed. For that, check this migration guide:

Let me know if this helps :slight_smile:

hey. It helped. Thanks.