|
a/src/rcldb/rclquery.cpp |
|
b/src/rcldb/rclquery.cpp |
|
... |
|
... |
419 |
docid = *(m_nq->xmset[xapi-first]);
|
419 |
docid = *(m_nq->xmset[xapi-first]);
|
420 |
pc = m_nq->xmset.convert_to_percent(m_nq->xmset[xapi-first]);
|
420 |
pc = m_nq->xmset.convert_to_percent(m_nq->xmset[xapi-first]);
|
421 |
data = xdoc.get_data();
|
421 |
data = xdoc.get_data();
|
422 |
m_reason.erase();
|
422 |
m_reason.erase();
|
423 |
Chrono chron;
|
423 |
Chrono chron;
|
424 |
Xapian::TermIterator it = xdoc.termlist_begin();
|
424 |
m_db->m_ndb->xdocToUdi(xdoc, udi);
|
425 |
it.skip_to(wrap_prefix(udi_prefix));
|
|
|
426 |
if (it != xdoc.termlist_end()) {
|
|
|
427 |
udi = *it;
|
|
|
428 |
if (!udi.empty())
|
|
|
429 |
udi = udi.substr(wrap_prefix(udi_prefix).size());
|
|
|
430 |
}
|
|
|
431 |
LOGDEB2(("Query::getDoc: %d ms for udi [%s], collapse count %d\n",
|
425 |
LOGDEB2(("Query::getDoc: %d ms for udi [%s], collapse count %d\n",
|
432 |
chron.millis(), udi.c_str(), collapsecount));
|
426 |
chron.millis(), udi.c_str(), collapsecount));
|
433 |
break;
|
427 |
break;
|
434 |
} catch (Xapian::DatabaseModifiedError &error) {
|
428 |
} catch (Xapian::DatabaseModifiedError &error) {
|
435 |
// retry or end of loop
|
429 |
// retry or end of loop
|