def params()

in rally-custom/custom_tracks/elasticsearch/dense_vector/track.py [0:0]


    def params(self):
        result = {"index": self._index_name, "cache": self._params.get("cache", False), "size": self._params.get("k", 10)}

        if self._exact_scan:
            result["body"] = {
                "query": {
                    "script_score": {
                        "query": {"match_all": {}},
                        "script": {
                            "source": f"cosineSimilarity(params.query, '{self._vector_field}') + 1.0",
                            "params": {"query": self._queries[self._iters]},
                        },
                    }
                },
                "_source": False,
            }
        else:
            result["body"] = {
                "query": {
                    "knn": {
                            "field": self._vector_field,
                            "query_vector": self._queries[self._iters],
                            "num_candidates": self._params.get("num-candidates", 50)
                        }
                    },
                "_source": False
            }

        self._iters += 1
        if self._iters >= len(self._queries):
            self._iters = 0
        return result