Cppinecone
A C++ client for the Pinecone vector database
metadata_filtering.hpp
#pragma once
#include <cassert>
#include <cstdint>
#include <iostream>
namespace examples
{
static inline void run_metadata_example(pinecone::synchronous_client const& client) noexcept
{
auto comic_filter = pinecone::types::filters::eq("title", "Marvel_Comics");
auto result =
client.query("squad", pinecone::types::query_builder(comic_filter, 1000, "9833").build());
assert(result.is_successful());
std::cout << "Marvel comic results: " << result->query_matches().size() << std::endl;
auto ps_filter = pinecone::types::filters::eq("title", "PlayStation_3");
auto combined_filter = pinecone::types::filters::or_(comic_filter, ps_filter);
auto combined_result =
client.query("squad", pinecone::types::query_builder(combined_filter, 1000, "9833").build());
assert(combined_result.is_successful());
std::cout << "Marvel comic or playstation results: " << combined_result->query_matches().size()
}
} // namespace examples
T endl(T... args)
auto or_(ts... filters) noexcept -> combination_filter< ts... >
Or filter, tests is any contained filter is true.
Definition: filters.hpp:150
auto eq(std::string key, metadata_value value) noexcept -> binary_filter
Equality filter, tests if a key is == to a value.
Definition: filters.hpp:36
The Pinecone API client (start here!)
The Pinecone REST API client.
Definition: pinecone.hpp:67
auto query_builder(uint64_t top_k, std::vector< double > vector) noexcept -> query< no_filter >::builder
Construct a query builder given a number of results and a target vector.