You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by Parisa <pa...@gmail.com> on 2009/01/06 14:57:37 UTC

solrj delete by Id problem

Hi,

I have Problem with solr api , when I delete By Id a document with solrj .
if we already have searched on one word's content of this doc and we had
more than 1 result ,after delete by Id we have no result at all

I mean the result set is empty and it is not correct because it should shows
the other documents that have this word in their contents.

I should mention that if we search with all indexed word of this deleted
document the result set is empty.

I have tested The 1.3 and nightly version ,and the problem is in both
versions.


-- 
View this message in context: http://www.nabble.com/solrj-delete-by-Id-problem-tp21310820p21310820.html
Sent from the Solr - Dev mailing list archive at Nabble.com.


Re: solrj delete by Id problem

Posted by Parisa <pa...@gmail.com>.
I found how the issue is created .when solr warm up the new searcher with
cacheLists , if the queryResultCache is enable the issue is created.

notice:as I mentioned before I commit with waitflush=false and
waitsearcher=false 

so it has problem in case the queryResultCache is on,

but I don't know why the issue is created only in deleteById mode and we
don't have problem when we add a doc and commit with waitflush=false and
waitsearcher=false 

I think they both use the same method for warmup the new searcher !!!

there is also a comment on solrCore class  that I am concern about it:

solrCore.java 

public RefCounted<SolrIndexSearcher> getSearcher(boolean forceNew, boolean
returnSearcher, final Future[] waitSearcher) throws IOException {


------------------
----------------
----------------
 line 1132 (nightly version)

  // warm the new searcher based on the current searcher.
      // should this go before the other event handlers or after?

  
      if (currSearcher != null) {
        future = searcherExecutor.submit(
                new Callable() {
                  public Object call() throws Exception {
                    try {
                      newSearcher.warm(currSearcher);
                    } catch (Throwable e) {
                      SolrException.logOnce(log,null,e);
                    }
                    return null;
                  }
                }
        );
      }

-----
------

}

I will appreciate if you can fix it as soon as possible or help me to fixed
it myself.

Parisa



-- 
View this message in context: http://www.nabble.com/solrj-delete-by-Id-problem-tp21310820p21687293.html
Sent from the Solr - Dev mailing list archive at Nabble.com.


Re: solrj delete by Id problem

Posted by Parisa <pa...@gmail.com>.
Is there any  Solution for fixing this bug ? 
this is really urgent .

I will appreciate any fixing or solution? 

-- 
View this message in context: http://www.nabble.com/solrj-delete-by-Id-problem-tp21310820p21661185.html
Sent from the Solr - Dev mailing list archive at Nabble.com.


Re: solrj delete by Id problem

Posted by Parisa <pa...@gmail.com>.
By the way, I found that if you search on a key word before delete the
document then delete the doc the problem will be happened (the search result
is empty in case it should have result) ,  but if we already haven't search
the key word before delete the search result is ok.

I think the problem is in warming up the new searcher with searched key
words , but I don't know why the problem is insisted when we commit with
waitFlush = true ,waitSearcher = true .


-- 
View this message in context: http://www.nabble.com/solrj-delete-by-Id-problem-tp21310820p21397953.html
Sent from the Solr - Dev mailing list archive at Nabble.com.


Re: solrj delete by Id problem

Posted by Parisa <pa...@gmail.com>.
I call deleteById ,

besides, when I restart the solr server the result show is ok and it shows
the correct result set. 

and I also test it by commit(false,false) and commit(true,true) in both
cases the result set is emty.

thanx.


Erik Hatcher wrote:
> 
> 
> On Jan 6, 2009, at 8:57 AM, Parisa wrote:
>> I have Problem with solr api , when I delete By Id a document with  
>> solrj .
>> if we already have searched on one word's content of this doc and we  
>> had
>> more than 1 result ,after delete by Id we have no result at all
> 
> What method are you calling?  Are you calling SolrServer#deleteById or  
> #deleteByQuery?
> 
> 	Erik
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/solrj-delete-by-Id-problem-tp21310820p21329648.html
Sent from the Solr - Dev mailing list archive at Nabble.com.


Re: solrj delete by Id problem

Posted by Erik Hatcher <er...@ehatchersolutions.com>.
On Jan 6, 2009, at 8:57 AM, Parisa wrote:
> I have Problem with solr api , when I delete By Id a document with  
> solrj .
> if we already have searched on one word's content of this doc and we  
> had
> more than 1 result ,after delete by Id we have no result at all

What method are you calling?  Are you calling SolrServer#deleteById or  
#deleteByQuery?

	Erik