You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Adrien Grand (JIRA)" <ji...@apache.org> on 2015/07/06 23:34:04 UTC
[jira] [Commented] (LUCENE-6661) Allow queries to opt out of
caching
[ https://issues.apache.org/jira/browse/LUCENE-6661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14615703#comment-14615703 ]
Adrien Grand commented on LUCENE-6661:
--------------------------------------
One issue I have with marker interfaces is that they do not support wrapping. Eg. if you put such a query in a BooleanQuery, then the BooleanQuery would be considered cacheable although it should not be cached either.
One way to work around this issue would be to make a query that is not equal to any other query but itself? Eg:
{code}
class MyQuery extends Query {
private Object identity = null;
boolean equals(Object o) {
if (super.equals(o) == false) {
return false;
}
MyQuery that = (MyQuery) o;
return identity == that.identity;
}
int hashcode() {
return 31 * super.hashcode() + Objects.hashcode(identity);
}
Weight createWeight(IndexSearcher searcher, boolean needsScores) {
// create a query that will be equal to no other query
// given that we use Weight.getQuery() for caching
Query weightQuery = clone();
weightQuery.identity = new Object();
return new Weight(weightQuery) {
// weight impl
};
}
}
{code}
Given that the cache only caches queries that are reused, it will never be cached.
> Allow queries to opt out of caching
> -----------------------------------
>
> Key: LUCENE-6661
> URL: https://issues.apache.org/jira/browse/LUCENE-6661
> Project: Lucene - Core
> Issue Type: Improvement
> Affects Versions: 5.2
> Reporter: Terry Smith
> Priority: Minor
> Attachments: LUCENE-6661.patch
>
>
> Some queries have out-of-band dependencies that make them incompatible with caching, it'd be great if they could opt out of the new fancy query/filter cache in IndexSearcher.
> This affects DrillSidewaysQuery and any user-provided custom Query implementations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org