You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by Ryan McKinley <ry...@gmail.com> on 2008/12/18 19:29:40 UTC

start a new spatial contrib

Hello-

Momentum has picked back up with the spatial contrib:
https://issues.apache.org/jira/browse/LUCENE-1387

I think it is ready to go.

I asked a while back how you all feel about letting me have commit  
access on /contrib, I want to raise the question again just to make  
sure.

I believe I already have svn write access, but want to check with you  
all before mucking about.

Thanks!
ryan

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


RE: start a new spatial contrib

Posted by Uwe Schindler <uw...@thetaphi.de>.
I had not time for until now, but maybe this can be combined. We had some
discussion about Trie and LovcalLucene in this list, but until now, I had no
time to look into the code.

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: uwe@thetaphi.de

> From: Mark Miller [mailto:markrmiller@gmail.com]
> Sent: Friday, December 19, 2008 3:00 AM
> To: java-dev@lucene.apache.org
> Subject: Re: start a new spatial contrib
> 
> Who is this shady character and can he be trusted? :)
> 
> +1.
> 
> LocalLucene is awesome. Anyone investigated Jason's idea of integrating
> the trie range query stuff?
> 
> - Mark
> 
> Michael McCandless wrote:
> >
> > Ryan McKinley wrote:
> >
> >> I asked a while back how you all feel about letting me have commit
> >> access on /contrib, I want to raise the question again just to make
> >> sure.
> >
> > +1
> >
> > Mike
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> > For additional commands, e-mail: java-dev-help@lucene.apache.org
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Re: start a new spatial contrib

Posted by Marvin Humphrey <ma...@rectangular.com>.
On Fri, Dec 19, 2008 at 05:48:51PM -0500, Ryan McKinley wrote:

> The other thing i am curious about is flexible indexing" -- i have not  
> really followed what that means, but somewhere in there i got the idea  
> we could implement an rtree directly...

I've been flogging the idea of an RTree index component and and building out
the scaffolding to hold such a thing in KinoSearch/Lucy.  Here's a sketch of
how it might work (assume Java bindings):

  public class MyArchitecture extends Architecture {
    ArrayList<SegDataWriter> segDataWriters(InvIndex invindex, Segment segment) { 
      ArrayList<SegDataWriter> writers = super.segDataWriters(invindex, segment); 
      writers.add(new RTreeWriter(invindex, segment));
      return writers;
    }
    ArrayList<SegDataReader> segDataReaders(InvIndex invindex, Segment segment) { 
      ArrayList<SegDataReader> readers = super.segDataReaders(invindex, segment); 
      readers.add(new RTreeReader(invindex, segment));
      return readers;
    }
  }
  public class MySchema extends Schema {
    public MyArchitecture architecture() { return new MyArchitecture(); }
    public MySchema() {
      addField("title", "text");
      addField("content", "text");
      addField("location", new RTreeField());
    }
    public PolyAnalyzer analyzer() { return new PolyAnalyzer("en"); }
  }
  IndexWriter writer = new IndexWriter(new MySchema(), path);

The write-time linchpin is the extensible class SegDataWriter.  It's used
internally by the public-facing primary indexing class (InvIndexer in KS,
probably will be named IndexWriter in Lucy).  Here's some current C code for
SegWriter in KS:

  SegWriter*
  SegWriter_init(SegWriter *self, InvIndex *invindex, Segment *segment)
  {
      Schema *schema = InvIndex_Get_Schema(invindex);
      Architecture *arch = Schema_Get_Architecture(schema);
      SegDataWriter_init((SegDataWriter*)self, invindex, segment);
      self->inverter    = Inverter_new(InvIndex_Get_Schema(invindex));
      self->writers     = Arch_SegDataWriters(arch, invindex, segment);
      return self;
  }
  
  void
  SegWriter_add_inverted_doc(SegWriter *self, Inverter *inverter, 
                             i32_t doc_num)
  {
      u32_t i;
  
      Seg_Add_Inverted_Doc(self->segment, inverter, doc_num);
      for (i = 0; i < self->writers->size; i++) {
          SegDataWriter *writer = (SegDataWriter*)VA_Fetch(self->writers, i);
          SegDataWriter_Add_Inverted_Doc(writer, inverter, doc_num);
      }
  }

IndexWriter.addDoc() calls SegWriter.addDoc(), which inverts the document and
calls SegWriter.addInvertedDoc().  SegWriter.addInvertedDoc() recurses down
into each of the SegWriter's children -- including, potentially, the
RTreeWriter.

Marvin Humphrey








---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Re: start a new spatial contrib

Posted by Ryan McKinley <ry...@gmail.com>.
another interesting geohash link:
http://labs.metacarta.com/blog/27.entry/geographic-queries-on-google-app-engine/

seems like that has a perfect match with TrieRangeQuery


On Dec 19, 2008, at 5:48 PM, Ryan McKinley wrote:

>
> On Dec 18, 2008, at 9:00 PM, Mark Miller wrote:
>
>> Who is this shady character and can he be trusted? :)
>>
>> +1.
>>
>> LocalLucene is awesome. Anyone investigated Jason's idea of  
>> integrating the trie range query stuff?
>>
>
> There will be lots of things to investigate!
>
> The other thing i am curious about is flexible indexing" -- i have  
> not really followed what that means, but somewhere in there i got  
> the idea we could implement an rtree directly...
>
> Also geohash -- a single field to hold lat/lon and bounding box  
> queries are just a range search.
> http://en.wikipedia.org/wiki/Geohash
> http://mappinghacks.com/2008/05/29/geohash-implemented-in-python/
>
> onward!
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Re: start a new spatial contrib

Posted by Ryan McKinley <ry...@gmail.com>.
On Dec 18, 2008, at 9:00 PM, Mark Miller wrote:

> Who is this shady character and can he be trusted? :)
>
> +1.
>
> LocalLucene is awesome. Anyone investigated Jason's idea of  
> integrating the trie range query stuff?
>

There will be lots of things to investigate!

The other thing i am curious about is flexible indexing" -- i have not  
really followed what that means, but somewhere in there i got the idea  
we could implement an rtree directly...

Also geohash -- a single field to hold lat/lon and bounding box  
queries are just a range search.
http://en.wikipedia.org/wiki/Geohash
http://mappinghacks.com/2008/05/29/geohash-implemented-in-python/

onward!



---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Re: start a new spatial contrib

Posted by Mark Miller <ma...@gmail.com>.
Who is this shady character and can he be trusted? :)

+1.

LocalLucene is awesome. Anyone investigated Jason's idea of integrating 
the trie range query stuff?

- Mark

Michael McCandless wrote:
>
> Ryan McKinley wrote:
>
>> I asked a while back how you all feel about letting me have commit 
>> access on /contrib, I want to raise the question again just to make 
>> sure.
>
> +1
>
> Mike
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-dev-help@lucene.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Re: start a new spatial contrib

Posted by Michael McCandless <lu...@mikemccandless.com>.
Ryan McKinley wrote:

> I asked a while back how you all feel about letting me have commit  
> access on /contrib, I want to raise the question again just to make  
> sure.

+1

Mike

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org