Does Kamikaze have a mailing list? It seems like, to me anyway, this conversation would be more appropriate for that list as it is about Kamikaze, not Lucene.

-Grant

On Apr 30, 2009, at 2:42 PM, molz wrote:


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

Reply via email to