Distinguishing hybrid search results

Hi Folks,

I perform hybrid search by providing both the knn and a query, like the example in the Elasticsearch Guide:

POST image-index/_search
{
  "query": {
    "match": {
      "title": {
        "query": "mountain lake",
        "boost": 0.9
      }
    }
  },
  "knn": {
    "field": "image-vector",
    "query_vector": [54, 10, -2],
    "k": 5,
    "num_candidates": 50,
    "boost": 0.1
  },
  "size": 10
}

Is there any way (other than running the search with explain: true) to distinguish the results according to which search (query, knn or both) found it?

Thanks&Regards,

Hello @Gabor_Gergely,

In this case, for linear combination the score of each hit is the sum of the knn and query scores.

score = 0.9 * match_score + 0.1 * knn_score

In other words, you can check the scores to understand the results.

Right now @Gabor_Gergely, for a significantly complicated query, the only way is explain: true.

I realize this isn't the best option. Regular queries have _name to help with this. Right now knn has no such option.

2 Likes

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.