|
a/src/rcldb/rclquery.cpp |
|
b/src/rcldb/rclquery.cpp |
|
... |
|
... |
17 |
|
17 |
|
18 |
#include <stdlib.h>
|
18 |
#include <stdlib.h>
|
19 |
#include <string.h>
|
19 |
#include <string.h>
|
20 |
#include <stdio.h>
|
20 |
#include <stdio.h>
|
21 |
|
21 |
|
22 |
#include <list>
|
|
|
23 |
#include <vector>
|
22 |
#include <vector>
|
24 |
|
23 |
|
25 |
#include "xapian.h"
|
24 |
#include "xapian.h"
|
26 |
|
25 |
|
27 |
#include "cstr.h"
|
26 |
#include "cstr.h"
|
|
... |
|
... |
238 |
LOGDEB(("Query::SetQuery: Q: %s\n", sdata->getDescription().c_str()));
|
237 |
LOGDEB(("Query::SetQuery: Q: %s\n", sdata->getDescription().c_str()));
|
239 |
return true;
|
238 |
return true;
|
240 |
}
|
239 |
}
|
241 |
|
240 |
|
242 |
|
241 |
|
243 |
bool Query::getQueryTerms(list<string>& terms)
|
242 |
bool Query::getQueryTerms(vector<string>& terms)
|
244 |
{
|
243 |
{
|
245 |
if (ISNULL(m_nq))
|
244 |
if (ISNULL(m_nq))
|
246 |
return false;
|
245 |
return false;
|
247 |
|
246 |
|
248 |
terms.clear();
|
247 |
terms.clear();
|
|
... |
|
... |
259 |
return false;
|
258 |
return false;
|
260 |
}
|
259 |
}
|
261 |
return true;
|
260 |
return true;
|
262 |
}
|
261 |
}
|
263 |
|
262 |
|
264 |
bool Query::getMatchTerms(const Doc& doc, list<string>& terms)
|
263 |
bool Query::getMatchTerms(const Doc& doc, vector<string>& terms)
|
265 |
{
|
264 |
{
|
266 |
return getMatchTerms(doc.xdocid, terms);
|
265 |
return getMatchTerms(doc.xdocid, terms);
|
267 |
}
|
266 |
}
|
268 |
bool Query::getMatchTerms(unsigned long xdocid, list<string>& terms)
|
267 |
bool Query::getMatchTerms(unsigned long xdocid, vector<string>& terms)
|
269 |
{
|
268 |
{
|
270 |
if (ISNULL(m_nq) || !m_nq->xenquire) {
|
269 |
if (ISNULL(m_nq) || !m_nq->xenquire) {
|
271 |
LOGERR(("Query::getMatchTerms: no query opened\n"));
|
270 |
LOGERR(("Query::getMatchTerms: no query opened\n"));
|
272 |
return -1;
|
271 |
return -1;
|
273 |
}
|
272 |
}
|
|
... |
|
... |
419 |
|
418 |
|
420 |
// Parse xapian document's data and populate doc fields
|
419 |
// Parse xapian document's data and populate doc fields
|
421 |
return m_db->m_ndb->dbDataToRclDoc(docid, data, doc);
|
420 |
return m_db->m_ndb->dbDataToRclDoc(docid, data, doc);
|
422 |
}
|
421 |
}
|
423 |
|
422 |
|
424 |
list<string> Query::expand(const Doc &doc)
|
423 |
vector<string> Query::expand(const Doc &doc)
|
425 |
{
|
424 |
{
|
426 |
LOGDEB(("Rcl::Query::expand()\n"));
|
425 |
LOGDEB(("Rcl::Query::expand()\n"));
|
427 |
list<string> res;
|
426 |
vector<string> res;
|
428 |
if (ISNULL(m_nq) || !m_nq->xenquire) {
|
427 |
if (ISNULL(m_nq) || !m_nq->xenquire) {
|
429 |
LOGERR(("Query::expand: no query opened\n"));
|
428 |
LOGERR(("Query::expand: no query opened\n"));
|
430 |
return res;
|
429 |
return res;
|
431 |
}
|
430 |
}
|
432 |
|
431 |
|