diff --git a/cpp/src/db/db.h b/cpp/src/db/db.h index abaa4984210d26846770221022da5391bb0b22b9..c14822b041d75d4d6497baa9c6dbd543f6686d00 100644 --- a/cpp/src/db/db.h +++ b/cpp/src/db/db.h @@ -29,6 +29,9 @@ public: virtual Status add_vectors(const std::string& group_id_, size_t n, const float* vectors, IDNumbers& vector_ids_) = 0; + virtual Status search(const std::string& group_id, size_t k, size_t nq, + const float* vectors, QueryResults& results) = 0; + DB() = default; DB(const DB&) = delete; DB& operator=(const DB&) = delete; diff --git a/cpp/src/db/db_impl.cpp b/cpp/src/db/db_impl.cpp index a23fbe1db6c410d11b4e5ef29b155305b44f01da..87c83e7027c79d6ff0b10cdf197ba0095b2bb316 100644 --- a/cpp/src/db/db_impl.cpp +++ b/cpp/src/db/db_impl.cpp @@ -52,6 +52,12 @@ Status DBImpl::add_vectors(const std::string& group_id_, } } +Status DBImpl::search(const std::string& group_id, size_t k, size_t nq, + const float* vectors, QueryResults& results) { + // PXU TODO + return Status::OK(); +} + void DBImpl::start_timer_task(int interval_) { std::thread bg_task(&DBImpl::background_timer_task, this, interval_); bg_task.detach(); diff --git a/cpp/src/db/db_impl.h b/cpp/src/db/db_impl.h index d9e3a3d7c92ea79a4bda83bf48f1f0ebaff00928..b8e45f800610e87da3aa6b1c084e8968a1be7812 100644 --- a/cpp/src/db/db_impl.h +++ b/cpp/src/db/db_impl.h @@ -31,6 +31,9 @@ public: virtual Status add_vectors(const std::string& group_id_, size_t n, const float* vectors, IDNumbers& vector_ids_) override; + virtual Status search(const std::string& group_id, size_t k, size_t nq, + const float* vectors, QueryResults& results) override; + virtual ~DBImpl(); private: diff --git a/cpp/src/db/types.h b/cpp/src/db/types.h index c9ed274defe7537baf471a42d43a37fa674dc1d6..be538b9b1cf484f199425367c9a4e0c6d832d9d2 100644 --- a/cpp/src/db/types.h +++ b/cpp/src/db/types.h @@ -10,6 +10,9 @@ typedef long IDNumber; typedef IDNumber* IDNumberPtr; typedef std::vector IDNumbers; +typedef std::vector QueryResult; +typedef std::vector QueryResults; + } // namespace engine } // namespace vecwise