You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by tf...@apache.org on 2022/01/07 19:41:39 UTC
[lucene-solr] branch branch_8_11 updated: SOLR-15854: Let RealtimeGet component support negative filters
This is an automated email from the ASF dual-hosted git repository.
tflobbe pushed a commit to branch branch_8_11
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/branch_8_11 by this push:
new 004382ab SOLR-15854: Let RealtimeGet component support negative filters
004382ab is described below
commit 004382ab2be1035d4ef4d6119554f665c9a3e1bd
Author: Tomas Fernandez Lobbe <tf...@apache.org>
AuthorDate: Fri Jan 7 11:39:37 2022 -0800
SOLR-15854: Let RealtimeGet component support negative filters
---
solr/CHANGES.txt | 2 ++
.../org/apache/solr/handler/component/RealTimeGetComponent.java | 3 ++-
solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java | 7 +++++++
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index fb9f213..e7e7929 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -12,6 +12,8 @@ Bug Fixes
---------------------
* SOLR-15871: Update Log4J to 2.17.1 (weidongkl via janhoy)
+* SOLR-15854: Let RealtimeGet component support negative filters (Tomás Fernández Löbbe)
+
================== 8.11.1 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
diff --git a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
index eafc39c..faf1093 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/RealTimeGetComponent.java
@@ -44,6 +44,7 @@ import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.Query;
+import org.apache.solr.search.QueryUtils;
import org.apache.lucene.search.ScoreMode;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.util.BytesRef;
@@ -209,7 +210,7 @@ public class RealTimeGetComponent extends SearchComponent
for (String fq : fqs) {
if (fq != null && fq.trim().length()!=0) {
QParser fqp = QParser.getParser(fq, req);
- filters.add(fqp.getQuery());
+ filters.add(QueryUtils.makeQueryable(fqp.getQuery()));
}
}
if (!filters.isEmpty()) {
diff --git a/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java b/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
index b0f684e..aac8b72 100644
--- a/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
+++ b/solr/core/src/test/org/apache/solr/search/TestRealTimeGet.java
@@ -212,6 +212,13 @@ public class TestRealTimeGet extends TestRTGBase {
,"/response/docs==[{id:'16'},{id:'15'}]"
);
+ assertJQ(req("qt","/get","ids","15,14", "fl","id", "fq","-id:15")
+ ,"/response/docs==[{id:'14'}]"
+ );
+ assertJQ(req("qt","/get","ids","17,16,15,14", "fl","id", "fq","-id:[15 TO 17]")
+ ,"/response/docs==[{id:'14'}]"
+ );
+
realtimeHolder.decref();
req.close();