Right on. -1 if not found, index in the sorted set if found.
Anmol Michael Mastroianni wrote: > > Thanks, Anmol. Just so I'm clear on this: findWithIndex(foo) returns -1 > if foo is not found, and some positive integer if it is? > > regards, > Michael > > -----Original Message----- > From: molz [mailto:anmol.bha...@gmail.com] > Sent: Thursday, April 30, 2009 3:33 PM > To: java-user@lucene.apache.org > Subject: RE: kamikaze > > > > Hi, > > That method needs to be deprecated. Please use findWithIndex() instead. > I > will deprecate that method in the next release. Also, I will enable line > numbers in it. > > Anmol > > > > > Michael Mastroianni wrote: >> >> Hi-- Using the 1.0.7 jar file, I am having problems with occasional >> ArrayIndexOutOfBoundsExceptions and StackOverFlowErrors when trying to >> do a find in a P4DocIdSet. Here is a unit test that I can reliably get >> to generate a StackOverFlowError. Have you seen this before? Since I'm >> using the jar file, I can't really do much debugging of this one. >> >> regards, >> Michael >> >> >> public void testForOutOfBounds() >> { >> Random rand = new Random(System.currentTimeMillis()); >> int maxDoc = 350000; >> ArrayList<Integer> nums = new ArrayList<Integer>(); >> HashSet<Integer> seen = new HashSet<Integer>(); >> for(int i=0; i < 68; ++i) >> { >> int nextDoc = rand.nextInt(maxDoc); >> if(seen.contains(nextDoc)) >> { >> while(seen.contains(nextDoc)) >> { >> nextDoc = rand.nextInt(maxDoc); >> } >> } >> nums.add(nextDoc); >> seen.add(nextDoc); >> } >> Collections.sort(nums); >> DocSet docs = new P4DDocIdSet(); >> for (Integer integer : nums) >> { >> docs.addDoc(integer); >> } >> boolean got = docs.find(403); >> } >> >> -----Original Message----- >> From: molz [mailto:anmol.bha...@gmail.com] >> Sent: Wednesday, April 29, 2009 10:58 PM >> To: java-user@lucene.apache.org >> Subject: RE: kamikaze >> >> >> >> Hi Michael, >> >> 2 Questions. >> >> 1. What version of Kamikaze are you running with? >> 2. Can you try the snippet below and let me know if it fails ? I ran > it >> 20 >> times and it did not fail. Maybe there is some difference in the >> utitlity >> methods you have ? I am still trying to track down if anything is off > at >> my >> end but does not seem to be. >> >> public void testMultipleIntersections() >> { >> ArrayList<OpenBitSet> obs = new ArrayList<OpenBitSet>(); >> ArrayList<DocIdSet> docs = new ArrayList<DocIdSet>(); >> Random rand = new Random(System.currentTimeMillis()); >> int maxDoc = 350000; >> for(int i=0; i < 3; ++i) >> { >> int numdocs = rand.nextInt(maxDoc); >> ArrayList<Integer> nums = new >> ArrayList<Integer>(); >> HashSet<Integer> seen = new HashSet<Integer>(); >> for (int j = 0; j < numdocs; j++) >> { >> int nextDoc = rand.nextInt(maxDoc); >> if(seen.contains(nextDoc)) >> { >> while(seen.contains(nextDoc)) >> { >> nextDoc = >> rand.nextInt(maxDoc); >> } >> } >> nums.add(nextDoc); >> seen.add(nextDoc); >> } >> Collections.sort(nums); >> obs.add(createObs(nums, maxDoc)); >> docs.add(createDocSet(nums)); >> } >> OpenBitSet base = obs.get(0); >> for(int i = 1; i < obs.size(); ++i) >> { >> base.intersect(obs.get(i)); >> } >> >> AndDocIdSet ands = new AndDocIdSet(docs); >> long card1 = base.cardinality(); >> long card2 = ands.size(); >> System.out.println(card1+":"+card2); >> assertEquals(card1, card2); >> } >> >> >> private OpenBitSet createObs(ArrayList<Integer> nums, int maxDoc) > { >> OpenBitSet bitSet = new OpenBitSet(maxDoc); >> for(int num:nums) >> bitSet.set(num); >> return bitSet; >> } >> >> private DocIdSet createDocSet(ArrayList<Integer> nums) { >> DocSet p4d = DocSetFactory.getDocSetInstance(0, 35000000, > 200000, >> DocSetFactory.FOCUS.OPTIMAL); >> for(int num:nums) >> p4d.addDoc(num); >> return p4d; >> } >> >> I even tried with the following >> >> private DocIdSet createDocSet(ArrayList<Integer> nums) { >> P4DDocIdSet p4d = new P4DDocIdSet(); >> for(int num:nums) >> p4d.addDoc(num); >> return p4d; >> } >> >> >> The NPE you mention in the previous emails has been identified as a > bug >> and >> will be fixed in the next release (in a day or two). >> >> Thanks, >> Anmol >> >> >> -- >> View this message in context: >> http://www.nabble.com/kamikaze-tp23224760p23307098.html >> Sent from the Lucene - Java Users mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> >> >> This e-mail message, and any attachments, is intended only for the use > of >> the individual or entity identified in the alias address of this > message >> and may contain information that is confidential, privileged and > subject >> to legal restrictions and penalties regarding its unauthorized > disclosure >> and use. Any unauthorized review, copying, disclosure, use or > distribution >> is strictly prohibited. If you have received this e-mail message in > error, >> please notify the sender immediately by reply e-mail and delete this >> message, and any attachments, from your system. Thank you. >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> >> > > -- > View this message in context: > http://www.nabble.com/kamikaze-tp23224760p23322582.html > Sent from the Lucene - Java Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > > > This e-mail message, and any attachments, is intended only for the use of > the individual or entity identified in the alias address of this message > and may contain information that is confidential, privileged and subject > to legal restrictions and penalties regarding its unauthorized disclosure > and use. Any unauthorized review, copying, disclosure, use or distribution > is strictly prohibited. If you have received this e-mail message in error, > please notify the sender immediately by reply e-mail and delete this > message, and any attachments, from your system. Thank you. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > > -- View this message in context: http://www.nabble.com/kamikaze-tp23224760p23324860.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org