moved snippets generation code from db to query object

This commit is contained in:
"Jean-Francois Dockes ext:(%22)
2012-09-26 12:13:40 +02:00
parent 52bc9f4aa3
commit af2d031e50
12 changed files with 603 additions and 562 deletions
+4 -5
View File
@@ -77,9 +77,8 @@ bool DocSequenceDb::getAbstract(Rcl::Doc &doc,
int maxoccs = 500;
Rcl::abstract_result ret = Rcl::ABSRES_ERROR;
if (m_q->whatDb()) {
ret = m_q->whatDb()->makeDocAbstract(doc, m_q.getptr(), vpabs,
maxoccs,
m_q->whatDb()->getAbsCtxLen()+ 2);
ret = m_q->makeDocAbstract(doc,vpabs, maxoccs,
m_q->whatDb()->getAbsCtxLen()+ 2);
}
if (vpabs.empty())
vpabs.push_back(pair<int, string>(0, doc.meta[Rcl::Doc::keyabs]));
@@ -96,7 +95,7 @@ bool DocSequenceDb::getAbstract(Rcl::Doc &doc, vector<string>& vabs)
setQuery();
if (m_q->whatDb() &&
m_queryBuildAbstract && (doc.syntabs || m_queryReplaceAbstract)) {
m_q->whatDb()->makeDocAbstract(doc, m_q.getptr(), vabs);
m_q->makeDocAbstract(doc, vabs);
}
if (vabs.empty())
vabs.push_back(doc.meta[Rcl::Doc::keyabs]);
@@ -107,7 +106,7 @@ int DocSequenceDb::getFirstMatchPage(Rcl::Doc &doc)
{
setQuery();
if (m_q->whatDb()) {
return m_q->whatDb()->getFirstMatchPage(doc, m_q.getptr());
return m_q->getFirstMatchPage(doc);
}
return -1;
}
+2 -2
View File
@@ -67,7 +67,7 @@ void output_fields(const vector<string>fields, Rcl::Doc& doc,
string out;
if (!it->compare("abstract")) {
string abstract;
rcldb.makeDocAbstract(doc, &query, abstract);
query.makeDocAbstract(doc, abstract);
base64_encode(abstract, out);
} else {
base64_encode(doc.meta[*it], out);
@@ -376,7 +376,7 @@ int recollq(RclConfig **cfp, int argc, char **argv)
}
if (op_flags & OPT_A) {
string abstract;
if (rcldb.makeDocAbstract(doc, &query, abstract)) {
if (query.makeDocAbstract(doc, abstract)) {
cout << "ABSTRACT" << endl;
cout << abstract << endl;
cout << "/ABSTRACT" << endl;