Changeset View
Changeset View
Standalone View
Standalone View
src/engine/transaction.cpp
Show First 20 Lines • Show All 343 Lines • ▼ Show 20 Line(s) | 332 | { | |||
---|---|---|---|---|---|
344 | } | 344 | } | ||
345 | 345 | | |||
346 | const auto subQueries = query.subQueries(); | 346 | const auto subQueries = query.subQueries(); | ||
347 | if (subQueries.isEmpty()) { | 347 | if (subQueries.isEmpty()) { | ||
348 | return nullptr; | 348 | return nullptr; | ||
349 | } | 349 | } | ||
350 | 350 | | |||
351 | if (query.op() == EngineQuery::Phrase) { | 351 | if (query.op() == EngineQuery::Phrase) { | ||
352 | if (subQueries.size() == 1) { | ||||
353 | qCDebug(ENGINE) << "Degenerated Phrase with 1 Term:" << query; | ||||
354 | return postingIterator(subQueries[0]); | ||||
355 | } | ||||
352 | QVector<VectorPositionInfoIterator*> vec; | 356 | QVector<VectorPositionInfoIterator*> vec; | ||
353 | vec.reserve(subQueries.size()); | 357 | vec.reserve(subQueries.size()); | ||
354 | for (const EngineQuery& q : subQueries) { | 358 | for (const EngineQuery& q : subQueries) { | ||
355 | if (!q.leaf()) { | 359 | if (!q.leaf()) { | ||
356 | qCDebug(ENGINE) << "Transaction::toPostingIterator" << "Phrase queries must contain leaf queries"; | 360 | qCDebug(ENGINE) << "Transaction::toPostingIterator" << "Phrase queries must contain leaf queries"; | ||
357 | continue; | 361 | continue; | ||
358 | } | 362 | } | ||
359 | vec << positionDb.iter(q.term()); | 363 | vec << positionDb.iter(q.term()); | ||
▲ Show 20 Lines • Show All 287 Lines • Show Last 20 Lines |