def _parse_from_milvus_results(
        self, results: List
    ) -> Tuple[List[BaseNode], List[float], List[str]]:
        """
        Parses the results from Milvus and returns a list of nodes, similarities and ids.
        Only parse the first result since we are only searching for one query.
        """
        if len(results) > 1:
            logger.warning(
                "More than one result found in Milvus search. Only parsing the first result."
            )
        nodes = []
        similarities = []
        ids = []
        # Parse the results
        for hit in results[0]:
            metadata = {
                "_node_content": hit["entity"].get("_node_content", None),
                "_node_type": hit["entity"].get("_node_type", None),
            }
            for key in self.output_fields:
                metadata[key] = hit["entity"].get(key)
            node = metadata_dict_to_node(metadata)

            # Set the text field if it exists
            if self.text_key in hit["entity"]:
                text = hit["entity"].get(self.text_key)
                node.text = text

            nodes.append(node)
            similarities.append(hit["distance"])
            ids.append(self._get_id_from_hit(hit))
        return nodes, similarities, ids

        Parses the results from Milvus and returns a list of nodes, similarities and ids.
        Only parse the first result since we are only searching for one query.
        
llama-index-integrations/vector_stores/llama-index-vector-stores-milvus/llama_index/vector_stores/milvus/base.py