From 8ed8d05aab74cf5e76396742700cb25e603a440d Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Sat, 6 Jul 2019 13:52:51 +0200 Subject: [PATCH] cjk phrases: hopefully the right fix this time for slack computation. lastpos-termcount correction was applied twice --- src/rcldb/searchdatatox.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/rcldb/searchdatatox.cpp b/src/rcldb/searchdatatox.cpp index e8ec87f1..3250e069 100644 --- a/src/rcldb/searchdatatox.cpp +++ b/src/rcldb/searchdatatox.cpp @@ -695,7 +695,7 @@ void SearchDataClauseSimple::processPhraseOrNear(Rcl::Db &db, string& ermsg, LOGDEB2("PHRASE/NEAR: alltermcount " << splitData->alltermcount() << " lastpos " << splitData->lastpos() << "\n"); Xapian::Query xq(op, orqueries.begin(), orqueries.end(), - splitData->lastpos() + 1 + slack); + orqueries.size() + slack); if (op == Xapian::Query::OP_PHRASE) xq = Xapian::Query(Xapian::Query::OP_SCALE_WEIGHT, xq, original_term_wqf_booster); @@ -706,10 +706,6 @@ void SearchDataClauseSimple::processPhraseOrNear(Rcl::Db &db, string& ermsg, HighlightData::TermGroup tg; tg.orgroups = groups; tg.slack = slack; - if (splitData->lastpos() > splitData->alltermcount()) { - // Adjust for multiple pos per span (e.g. cjk) - tg.slack += splitData->lastpos() - splitData->alltermcount(); - } tg.grpsugidx = m_hldata.ugroups.size() - 1; tg.kind = (op == Xapian::Query::OP_PHRASE) ? HighlightData::TermGroup::TGK_PHRASE :