Hello, Andi. Well, what do you suggest? ;)
AV> FieldDoc is a subclass of ScoreDoc. If the java code expects that the AV> scoreDocs array in the TopFieldDocs instance, which is declared as AV> ScoreDoc[], is actually containing FieldDoc instances and if that fact gets AV> lost during serialization/deserialization, then you get exactly that error AV> when java downcasts the ScoreDoc instance to a FieldDoc. AV> Basically, I'm saying that you cannot statically expect the scoreDocs array in AV> a TopFieldDocs instance to contain just ScoreDoc instances, it actually tends AV> to contain FieldDoc instances, which is legal since FieldDoc is a subclass of AV> ScoreDoc. AV> Andi.. AV> On Sat, 5 Feb 2005, Yura Smolsky wrote: >> Hello, Yura. >> >> I have found that problem is about initialization of ScoreDoc object. >> When I use existent ScoreDoc object created by java then everything is >> okay. When I use ScoreDoc object created in python -> it produces >> exception. >> >> Check new attach. >> >> YS> Hello, Andi. >> >> YS> I just have added TopFieldDocs manual creation code. This code does >> YS> recreate TopFieldDocs object using PyLucene classes ScoreDoc, >> YS> SortField and TopFieldDocs. Check attached file. >> YS> This example returns exeption: >> >> YS> D:\workshop\blogz-src>d:\work\python24\python.exe RemoteSearch2.py >> YS> in searchSorted >> YS> ['"modified"!'] >> YS> 249 1.0 >> YS> 269 0.282842695713 >> YS> 4 0.34999999404 >> YS> 52 0.17499999702 >> YS> modified 3 True >> YS> in searchSorted, finished >> YS> Exception in thread "MultiSearcher thread #1" >> YS> java.lang.ClassCastException: org.apache.lucene.search.ScoreDoc >> YS> cannot be cast to >> YS> org.apache.lucene.search.FieldDoc >> YS> *** Got java.lang.NullPointerException while trying to print stack trace. >> YS> 4 >> >> AV>> I verified, by modifying the RemoteSearcher.py code you sent me >> yesterday that >> AV>> 'searchSorted' is working properly. The code is attached. >> >> AV>> Andi.. >> >> AV>> On Sat, 5 Feb 2005, Yura Smolsky wrote: >> >>>>> Hello, pylucene-dev. >>>>> >>>>> I use ParallelMultiSearcher and I construct manually variables passed >>>>> to search, searchSorted methods of Searchable implementation. >>>>> I got this exception when I use sort and ParallerMultiSearcher: >>>>> >>>>> scoreDoc: 261 >>>>> scoreDoc: 211 >>>>> ... skipped ... >>>>> scoreDoc: 142 >>>>> scoreDoc: 144 >>>>> Exception in thread "MultiSearcher thread #1" >>>>> java.lang.ClassCastException: org.apache.lucene.search.ScoreDoc >>>>> cannot be cast to >>>>> org.apache.lucene.search.FieldDoc >>>>> at 0x012ce0ae (Unknown Source) >>>>> ... skipped >>>>> hits: 18 >>>>> >>>>> if I do not use sort or if I use Searchable implementation through >>>>> searchSorted then everything is ok. >>>>> I do not understand this.. Who is messing the data?.. >>>>> Maybe method searchSorted of implementation of Searchable generates >>>>> "bad" PyLucene classes?.. >>>>> >>>>> Thanks in advance. >>>>> >>>>> Yura Smolsky >> AV>> >> >> >> >> YS> Yura Smolsky, >> YS> >> >> >> >> Yura Smolsky, AV> Yura Smolsky, _______________________________________________ pylucene-dev mailing list [email protected] http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
