summaryrefslogtreecommitdiffstats
path: root/common/fulltextindex.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-27 17:15:01 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-27 17:15:01 +0200
commitce1042b397a11649ccc87293ef765fb3969e7799 (patch)
tree64907469f59c24fdd840e89e3d4cc78e3463bf2a /common/fulltextindex.cpp
parent59dac4b4a0ed6525b705c44b929ffe131abdaad0 (diff)
downloadsink-ce1042b397a11649ccc87293ef765fb3969e7799.tar.gz
sink-ce1042b397a11649ccc87293ef765fb3969e7799.zip
Debug messages and a higher limit for queries
Diffstat (limited to 'common/fulltextindex.cpp')
-rw-r--r--common/fulltextindex.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/common/fulltextindex.cpp b/common/fulltextindex.cpp
index 589feda..cc7fecf 100644
--- a/common/fulltextindex.cpp
+++ b/common/fulltextindex.cpp
@@ -166,13 +166,14 @@ QVector<QByteArray> FulltextIndex::lookup(const QString &searchTerm)
166 parser.set_database(*mDb); 166 parser.set_database(*mDb);
167 parser.set_max_expansion(100, Xapian::Query::WILDCARD_LIMIT_MOST_FREQUENT, Xapian::QueryParser::FLAG_PARTIAL); 167 parser.set_max_expansion(100, Xapian::Query::WILDCARD_LIMIT_MOST_FREQUENT, Xapian::QueryParser::FLAG_PARTIAL);
168 auto query = parser.parse_query(searchTerm.toStdString(), Xapian::QueryParser::FLAG_PHRASE|Xapian::QueryParser::FLAG_BOOLEAN|Xapian::QueryParser::FLAG_LOVEHATE|Xapian::QueryParser::FLAG_PARTIAL); 168 auto query = parser.parse_query(searchTerm.toStdString(), Xapian::QueryParser::FLAG_PHRASE|Xapian::QueryParser::FLAG_BOOLEAN|Xapian::QueryParser::FLAG_LOVEHATE|Xapian::QueryParser::FLAG_PARTIAL);
169 SinkTrace() << "Running xapian query: " << QString::fromStdString(query.get_description());
169 Xapian::Enquire enquire(*mDb); 170 Xapian::Enquire enquire(*mDb);
170 enquire.set_query(query); 171 enquire.set_query(query);
171 172
172 auto limit = 1000; 173 const auto limit = searchTerm.size() <= 4 ? 1000 : 10000;
173 Xapian::MSet mset = enquire.get_mset(0, limit); 174 Xapian::MSet mset = enquire.get_mset(0, limit);
174 Xapian::MSetIterator it = mset.begin(); 175 SinkTrace() << "Result set: " << QString::fromStdString(mset.get_description());
175 for (;it != mset.end(); it++) { 176 for (Xapian::MSetIterator it = mset.begin(); it != mset.end(); it++) {
176 auto doc = it.get_document(); 177 auto doc = it.get_document();
177 const auto data = doc.get_value(0); 178 const auto data = doc.get_value(0);
178 results << QByteArray{data.c_str(), int(data.length())}; 179 results << QByteArray{data.c_str(), int(data.length())};