--- a/src/rcldb/rcldb.cpp
+++ b/src/rcldb/rcldb.cpp
@@ -217,8 +217,8 @@
doc.xdocid = docid;
// Other, not predefined meta fields:
- list<string> keys = parms.getNames(string());
- for (list<string>::const_iterator it = keys.begin();
+ vector<string> keys = parms.getNames(string());
+ for (vector<string>::const_iterator it = keys.begin();
it != keys.end(); it++) {
if (doc.meta.find(*it) == doc.meta.end())
parms.get(*it, doc.meta[*it]);
@@ -228,9 +228,9 @@
}
// Remove prefixes (caps) from a list of terms.
-static void noPrefixList(const list<string>& in, list<string>& out)
-{
- for (list<string>::const_iterator qit = in.begin();
+static void noPrefixList(const vector<string>& in, vector<string>& out)
+{
+ for (vector<string>::const_iterator qit = in.begin();
qit != in.end(); qit++) {
if ('A' <= qit->at(0) && qit->at(0) <= 'Z') {
string term = *qit;
@@ -252,10 +252,10 @@
#define LOGABS LOGDEB2
#endif
#if 0
-static void listList(const string& what, const list<string>&l)
+static void listList(const string& what, const vector<string>&l)
{
string a;
- for (list<string>::const_iterator it = l.begin(); it != l.end(); it++) {
+ for (vector<string>::const_iterator it = l.begin(); it != l.end(); it++) {
a = a + *it + " ";
}
LOGDEB(("%s: %s\n", what.c_str(), a.c_str()));
@@ -273,10 +273,10 @@
LOGDEB2(("makeAbstract:%d: maxlen %d wWidth %d\n", chron.ms(),
m_rcldb->m_synthAbsLen, m_rcldb->m_synthAbsWordCtxLen));
- list<string> terms;
+ vector<string> terms;
{
- list<string> iterms;
+ vector<string> iterms;
query->getMatchTerms(docid, iterms);
noPrefixList(iterms, terms);
if (terms.empty()) {
@@ -289,13 +289,13 @@
// Retrieve db-wide frequencies for the query terms (we do this once per
// query, using all the query terms, not only the document match terms)
if (query->m_nq->termfreqs.empty()) {
- list<string> iqterms, qterms;
+ vector<string> iqterms, qterms;
query->getQueryTerms(iqterms);
noPrefixList(iqterms, qterms);
// listList("Query terms: ", qterms);
double doccnt = xrdb.get_doccount();
if (doccnt == 0) doccnt = 1;
- for (list<string>::const_iterator qit = qterms.begin();
+ for (vector<string>::const_iterator qit = qterms.begin();
qit != qterms.end(); qit++) {
query->m_nq->termfreqs[*qit] = xrdb.get_termfreq(*qit) / doccnt;
LOGABS(("makeAbstract: [%s] db freq %.1e\n", qit->c_str(),
@@ -312,7 +312,7 @@
double totalweight = 0;
double doclen = xrdb.get_doclength(docid);
if (doclen == 0) doclen = 1;
- for (list<string>::const_iterator qit = terms.begin();
+ for (vector<string>::const_iterator qit = terms.begin();
qit != terms.end(); qit++) {
Xapian::TermIterator term = xrdb.termlist_begin(docid);
term.skip_to(*qit);
@@ -338,7 +338,7 @@
// Build a sorted by quality term list.
multimap<double, string> byQ;
- for (list<string>::const_iterator qit = terms.begin();
+ for (vector<string>::const_iterator qit = terms.begin();
qit != terms.end(); qit++) {
if (termQcoefs.find(*qit) != termQcoefs.end())
byQ.insert(pair<double,string>(termQcoefs[*qit], *qit));
@@ -1481,10 +1481,10 @@
// Return list of existing stem db languages
-list<string> Db::getStemLangs()
+vector<string> Db::getStemLangs()
{
LOGDEB(("Db::getStemLang\n"));
- list<string> dirs;
+ vector<string> dirs;
if (m_ndb == 0 || m_ndb->m_isopen == false)
return dirs;
dirs = StemDb::getLangs(m_basedir);
@@ -1724,7 +1724,7 @@
list<string> dirs = m_extraDbs;
dirs.push_front(m_basedir);
for (list<string>::iterator it = dirs.begin(); it != dirs.end(); it++) {
- list<string> more;
+ vector<string> more;
StemDb::stemExpand(*it, lang, term, more);
LOGDEB1(("Db::stemExpand: Got %d from %s\n",
more.size(), it->c_str()));