Exemple #1
0
    def query(self,
              vector_query,
              filter_query=None,
              collection_name=None,
              guarantee_timestamp=None,
              timeout=300):
        """ This method corresponds to the search method of milvus """
        tmp_collection_name = self._collection_name if collection_name is None else collection_name

        params = util.search_param_analysis(vector_query, filter_query)
        params.update({"timeout": timeout})

        if guarantee_timestamp is not None:
            params.update({"guarantee_timestamp": guarantee_timestamp})

        # logger.debug("Params of search : %s" % str(params))
        result = self._milvus.search(tmp_collection_name, **params)

        # must_params = [vector_query]
        # if filter_query:
        #     must_params.extend(filter_query)
        # query = {
        #     "bool": {"must": must_params}
        # }
        # result = self._milvus.search(tmp_collection_name, query, timeout=timeout)
        return result
Exemple #2
0
    def warm_query(self, index_field_name, search_param, metric_type, times=2):
        query_vectors = [[random.random() for _ in range(self._dimension)]
                         for _ in range(DEFAULT_WARM_QUERY_NQ)]
        # index_info = self.describe_index(index_field_name)
        vector_query = {
            "vector": {
                index_field_name: {
                    "topk": DEFAULT_WARM_QUERY_TOPK,
                    "query": query_vectors,
                    "metric_type": metric_type,
                    "params": search_param
                }
            }
        }
        must_params = [vector_query]
        # query = {
        #     "bool": {"must": must_params}
        # }
        logger.debug("Start warm up query")
        for i in range(times):
            params = util.search_param_analysis(vector_query, None)
            self._milvus.search(self._collection_name, **params)

            # self._milvus.search(self._collection_name, query)
        logger.debug("End warm up query")
Exemple #3
0
    def load_and_query(self, vector_query, filter_query=None, collection_name=None, timeout=120):
        tmp_collection_name = self._collection_name if collection_name is None else collection_name
        must_params = [vector_query]
        if filter_query:
            must_params.extend(filter_query)
        query = {
            "bool": {"must": must_params}
        }
        self.load_collection(tmp_collection_name)

        params = util.search_param_analysis(vector_query, filter_query)
        params.update({"timeout": timeout})
        result = self._milvus.search(tmp_collection_name, **params)

        # result = self._milvus.search(tmp_collection_name, query, timeout=timeout)
        return result
Exemple #4
0
    def query(self, vector_query, filter_query=None, collection_name=None, timeout=300):
        """ This method corresponds to the search method of milvus """
        tmp_collection_name = self._collection_name if collection_name is None else collection_name

        params = util.search_param_analysis(vector_query, filter_query)
        params.update({"timeout": timeout})
        result = self._milvus.search(tmp_collection_name, **params)

        # must_params = [vector_query]
        # if filter_query:
        #     must_params.extend(filter_query)
        # query = {
        #     "bool": {"must": must_params}
        # }
        # result = self._milvus.search(tmp_collection_name, query, timeout=timeout)
        return result