# Error in filtering \`with\_where \`

**URL:** <https://forum.weaviate.io/t/error-in-filtering-with-where/1376>\
**Category:** Support\
**Created:** [February 5, 2024, 8:55pm UTC](https://forum.weaviate.io/t/error-in-filtering-with-where/1376 "2024-02-05T20:55:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ananthan-123](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/ananthan-123/32/451_2.png) [@ananthan-123](https://forum.weaviate.io/u/ananthan-123)\
**Post date:** [February 5, 2024, 8:55pm UTC](https://forum.weaviate.io/t/error-in-filtering-with-where/1376/1 "2024-02-05T20:55:29Z")

</div>

where\_filter = {‘operator’: ‘Or’, ‘operands’: [{‘path’: [‘source’], ‘operator’: ‘Equal’, ‘valueText’: ‘[https://sampleurl.com/data/OR.pdf](https://sampleurl.com/data/OR.pdf)’}]}

search\_results = client.query.get(“Data”, [‘content’, ‘source’])  
.with\_where(where\_filter)  
.with\_near\_text({“concepts”: ques})  
.with\_limit(4)  
.do()

I am doing the above operation. But the result contains the source with URL → [https://sampleurl.com/data/OR\_mietrecht\_A4.pdf](https://sampleurl.com/data/OR_mietrecht_A4.pdf)

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

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [February 5, 2024, 10:17pm UTC](https://forum.weaviate.io/t/error-in-filtering-with-where/1376/2 "2024-02-05T22:17:11Z")

</div>

Hi @ananthan-123 ! Welcome back 🙂

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:

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

```

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

Here more info on Tokenization:

> **[Collection schema | Weaviate - Vector Database](https://weaviate.io/developers/weaviate/config-refs/schema#tokenization)**
>
> Introduction

Unfortunatelly, this configuration is not mutable:

> **[Collection schema | Weaviate - Vector Database](https://weaviate.io/developers/weaviate/config-refs/schema#mutability)**
>
> Introduction

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

> **[Migrate data | Weaviate - Vector Database](https://weaviate.io/developers/weaviate/manage-data/migrate)**
>
> Overview

Let me know if this helps 🙂

---

<div class="post-metadata">

**Author:** ![ananthan-123](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/ananthan-123/32/451_2.png) [@ananthan-123](https://forum.weaviate.io/u/ananthan-123)\
**Post date:** [February 14, 2024, 4:21pm UTC](https://forum.weaviate.io/t/error-in-filtering-with-where/1376/4 "2024-02-14T16:21:27Z")

</div>

hey. It helped. Thanks.
