Don't return empty override rule query and match.

This commit is contained in:
Kishore Nallan 2022-09-06 15:27:00 +05:30
parent cbd251aa2d
commit ea835bf17f
2 changed files with 14 additions and 2 deletions

View File

@ -195,8 +195,15 @@ Option<bool> override_t::parse(const nlohmann::json& override_json, const std::s
nlohmann::json override_t::to_json() const {
nlohmann::json override;
override["id"] = id;
override["rule"]["query"] = rule.query;
override["rule"]["match"] = rule.match;
if(!rule.query.empty()) {
override["rule"]["query"] = rule.query;
}
if(!rule.match.empty()) {
override["rule"]["match"] = rule.match;
}
if(!rule.filter_by.empty()) {
override["rule"]["filter_by"] = rule.filter_by;
}

View File

@ -1002,6 +1002,11 @@ TEST_F(CollectionOverrideTest, FilterRule) {
ASSERT_EQ(2, results["hits"].size());
ASSERT_EQ("0", results["hits"][0]["document"]["id"].get<std::string>());
ASSERT_EQ("2", results["hits"][1]["document"]["id"].get<std::string>());
override_json_ser = override_rule2.to_json();
ASSERT_EQ("points: 1", override_json_ser["rule"]["filter_by"]);
ASSERT_EQ(0, override_json_ser["rule"].count("query"));
ASSERT_EQ(0, override_json_ser["rule"].count("match"));
}
TEST_F(CollectionOverrideTest, PinnedAndHiddenHits) {