# Query score 0

**URL:** <https://forum.weaviate.io/t/query-score-0/9417>\
**Category:** Support\
**Tags:** python\
**Created:** [December 24, 2024, 9:43am UTC](https://forum.weaviate.io/t/query-score-0/9417 "2024-12-24T09:43:31Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![chunker](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/chunker/32/3515_2.png) [@chunker](https://forum.weaviate.io/u/chunker)\
**Post date:** [December 24, 2024, 9:43am UTC](https://forum.weaviate.io/t/query-score-0/9417/1 "2024-12-24T09:43:31Z")

</div>

### Description

When I perform a query against the named vectors I have set up, I get a score of 0.

```python
q = 'example query'
chunks = client.collections.get("Chunks")
response = chunks.query.near_text(query=q,  
        limit=2,
        return_metadata=wvc.query.MetadataQuery(score=True, explain_score=True, distance=True),
        target_vector=["textvector"]
    )

for r in response.objects:
    print(r.metadata.distance)
    print(r.metadata.score)
    print(r.metadata.explain_score)

```

Example output:

```auto
0.18377846479415894
0.0
...
0.5245028734207153
0.0

```

- The query score of exactly 0 makes me suspect the encoding of my query might be going wrong or there might be an issue with the score calculation on the query.
- Additionally, the `metadata.explain_score` is not populated.
- I do see sensible distances between the objects. Also, I see that vectors have been calculated for my objects (through the REST API).

My questions:

- Is my assumption that a near\_text query should return scores \>0 correct? If not, what attributes to use to understand the results?
- Any ideas on how to debug this? What are the typical areas to start investigating when encountering query issues?

* * *

### Server Setup Information

- **Weaviate Server Version** : 1.28
- **Deployment Method** : Docker Compose (`cr.weaviate.io/semitechnologies/weaviate:1.28.0`)
- **Multi Node?** : No (Single Node)
- **Client Language and Version** : Python

```bash
pip list | grep weav
weaviate 0.1.2
weaviate-cli 3.0.2
weaviate-client 4.9.6

```

- **Multitenancy?** : Not specified

* * *

### Any Additional Information

Here is the `docker-compose.yml` file:

```yaml
services:
  weaviate:
    image: cr.weaviate.io/semitechnologies/weaviate:1.28.0
    restart: on-failure: 0
    ports:
      - "8080:8080"
      - "50051:50051"
    environment:
      QUERY_DEFAULTS_LIMIT: 20
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: "./data"
      DEFAULT_VECTORIZER_MODULE: text2vec-transformers
      ENABLE_MODULES: text2vec-transformers
      TRANSFORMERS_INFERENCE_API: http://t2v-transformers:8080
      CLUSTER_HOSTNAME: 'node1'
  
  t2v-transformers:
    image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-paraphrase-multilingual-MiniLM-L12-v2
    environment:
      ENABLE_CUDA: 0 # set to 1 to enable
      # NVIDIA_VISIBLE_DEVICES: all # enable if running with CUDA

```

---

<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:** [December 24, 2024, 1:28pm UTC](https://forum.weaviate.io/t/query-score-0/9417/2 "2024-12-24T13:28:00Z")

</div>

Hi @chunker !!

Welcome to our community 🤗

Because `near_text` is a purely vector search, you get a **distance** instead of a **score**.

With bm25 you get a **score** , and the same for `hybrid`, where the vector **distance** and the **bm25 score** are fused.

Only for hybrid, it will populate the explain\_score. It will show the **distance** and **score** that it got for the hybrid query and also the normalized numbers.

Let me know if that helps!

Thanks!
