summaryrefslogtreecommitdiffstats
path: root/common/datastorequery.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-10-13 18:38:35 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-02-11 23:03:17 +0100
commit6051c1247cde61bcc8e483eb4166e5a297c0ecc6 (patch)
treedf3aba1ef4011f2640b17c8cf7a9b106933231ab /common/datastorequery.cpp
parent8740a007515dcf1b315d69ab5c64fcfd40ec980c (diff)
downloadsink-6051c1247cde61bcc8e483eb4166e5a297c0ecc6.tar.gz
sink-6051c1247cde61bcc8e483eb4166e5a297c0ecc6.zip
Xapian based fulltext indexing
This cuts into the sync performance by about 40%, but gives us fast fulltext searching for all local content.
Diffstat (limited to 'common/datastorequery.cpp')
-rw-r--r--common/datastorequery.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/datastorequery.cpp b/common/datastorequery.cpp
index 870daf8..3218d1a 100644
--- a/common/datastorequery.cpp
+++ b/common/datastorequery.cpp
@@ -160,6 +160,10 @@ public:
160 for (const auto &filterProperty : propertyFilter.keys()) { 160 for (const auto &filterProperty : propertyFilter.keys()) {
161 const auto property = entity.getProperty(filterProperty); 161 const auto property = entity.getProperty(filterProperty);
162 const auto comparator = propertyFilter.value(filterProperty); 162 const auto comparator = propertyFilter.value(filterProperty);
163 //We can't deal with a fulltext filter
164 if (comparator.comparator == QueryBase::Comparator::Fulltext) {
165 continue;
166 }
163 if (!comparator.matches(property)) { 167 if (!comparator.matches(property)) {
164 SinkTraceCtx(mDatastore->mLogCtx) << "Filtering entity due to property mismatch on filter: " << entity.identifier() << "Property: " << filterProperty << property << " Filter:" << comparator.value; 168 SinkTraceCtx(mDatastore->mLogCtx) << "Filtering entity due to property mismatch on filter: " << entity.identifier() << "Property: " << filterProperty << property << " Filter:" << comparator.value;
165 return false; 169 return false;