diff --git a/src/dfm-search/dfm-search-lib/filenamesearch/filenamestrategies/indexedstrategy.cpp b/src/dfm-search/dfm-search-lib/filenamesearch/filenamestrategies/indexedstrategy.cpp index 983dfe25..f77441f5 100644 --- a/src/dfm-search/dfm-search-lib/filenamesearch/filenamestrategies/indexedstrategy.cpp +++ b/src/dfm-search/dfm-search-lib/filenamesearch/filenamestrategies/indexedstrategy.cpp @@ -726,6 +726,15 @@ Lucene::QueryPtr FileNameIndexedStrategy::buildLuceneQuery(const IndexQuery &que } } + // Filter hidden files at query level to avoid losing results due to maxResults limit + if (hasValidQuery && Q_LIKELY(!m_options.includeHidden())) { + QueryPtr hiddenQuery = Lucene::newLucene( + Lucene::newLucene( + Lucene::StringUtils::toUnicode("is_hidden"), + Lucene::StringUtils::toUnicode("Y"))); + finalQuery->add(hiddenQuery, Lucene::BooleanClause::MUST_NOT); + } + return hasValidQuery ? finalQuery : nullptr; }