You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Arcadius Ahouansou (JIRA)" <ji...@apache.org> on 2014/08/09 20:08:11 UTC
[jira] [Created] (SOLR-6357) Using query time Join in deleteByQuery
throws ClassCastException
Arcadius Ahouansou created SOLR-6357:
----------------------------------------
Summary: Using query time Join in deleteByQuery throws ClassCastException
Key: SOLR-6357
URL: https://issues.apache.org/jira/browse/SOLR-6357
Project: Solr
Issue Type: Bug
Components: query parsers
Affects Versions: 4.9
Reporter: Arcadius Ahouansou
Consider the following input document where we have:
- 1 Samsung mobile phone and
- 2 manufactures: Apple and Samsung.
{code}
[
{
"id":"galaxy note ii",
"cat":"product",
"manu_s":"samsung"
},
{
"id":"samsung",
"cat":"manufacturer",
"name":"Samsung Electronics"
},
{
"id":"apple",
"cat":"manufacturer",
"name":"Apple Inc"
}
]
{code}
My objective is to delete from the default index all manufacturers not having any product in the index.
After indexing ( curl 'http://localhost:8983/solr/update?commit=true' -H "Content-Type: text/json" --data-binary @delete-by-join-query.json )
I went to
{code}http://localhost:8983/solr/select?q=cat:manufacturer -{!join from=manu_s to=id}cat:product
{code}
and I could see only Apple, the only manufacturer not having any product in the index.
However, when I use that same query for deletion:
{code}
http://localhost:8983/solr/update?commit=true&stream.body=<delete><query>cat:manufacturer -{!join from=manu_s to=id}cat:product</query></delete>
{code}
I get
{code}
java.lang.ClassCastException: org.apache.lucene.search.IndexSearcher cannot be cast to org.apache.solr.search.SolrIndexSearcher
at org.apache.solr.search.JoinQuery.createWeight(JoinQParserPlugin.java:143)
at org.apache.lucene.search.BooleanQuery$BooleanWeight.<init>(BooleanQuery.java:185)
at org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:526)
at org.apache.lucene.search.BooleanQuery$BooleanWeight.<init>(BooleanQuery.java:185)
at org.apache.lucene.search.BooleanQuery.createWeight(BooleanQuery.java:526)
at org.apache.lucene.search.IndexSearcher.createNormalizedWeight(IndexSearcher.java:684)
at org.apache.lucene.search.QueryWrapperFilter.getDocIdSet(QueryWrapperFilter.java:55)
at org.apache.lucene.index.BufferedUpdatesStream.applyQueryDeletes(BufferedUpdatesStream.java:552)
at org.apache.lucene.index.BufferedUpdatesStream.applyDeletesAndUpdates(BufferedUpdatesStream.java:287)
at
{code}
This seems to be a bug.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org