diff --git a/src/collection.cpp b/src/collection.cpp index 3f00ef05..8c3ce602 100644 --- a/src/collection.cpp +++ b/src/collection.cpp @@ -1197,7 +1197,7 @@ Option Collection::search(std::string raw_query, if(embedder->is_remote()) { // return error if prefix search is used with openai embedder if((prefixes.size() == 1 && prefixes[0] == true) || (prefixes.size() > 1 && prefixes[i] == true)) { - std::string error = "Prefix search is not supported for remote embedders."; + std::string error = "Prefix search is not supported for remote embedders. Please set `prefix=false` as an additional search parameter to disable prefix searching."; return Option(400, error); } } diff --git a/test/collection_test.cpp b/test/collection_test.cpp index e73953ec..2e506bed 100644 --- a/test/collection_test.cpp +++ b/test/collection_test.cpp @@ -5107,7 +5107,7 @@ TEST_F(CollectionTest, PrefixSearchDisabledForOpenAI) { auto search_res_op = op.get()->search("dummy", {"embedding"}, "", {}, {}, {0}, 10, 1, FREQUENCY, {true}, Index::DROP_TOKENS_THRESHOLD, dummy_include_exclude, dummy_include_exclude, 10, "", 30, 4, ""); ASSERT_FALSE(search_res_op.ok()); - ASSERT_EQ("Prefix search is not supported for remote embedders.", search_res_op.error()); + ASSERT_EQ("Prefix search is not supported for remote embedders. Please set `prefix=false` as an additional search parameter to disable prefix searching.", search_res_op.error()); search_res_op = op.get()->search("dummy", {"embedding"}, "", {}, {}, {0}, 10, 1, FREQUENCY, {false}, Index::DROP_TOKENS_THRESHOLD, dummy_include_exclude, dummy_include_exclude, 10, "", 30, 4, ""); ASSERT_TRUE(search_res_op.ok());