2010/11/3 Balazs E. Pataki <pat...@dsd.sztaki.hu>

> Thank you very much, Mattias!
>
> This is pretty much what I also have discovered myself and wrote in the
> previous email. I'm not sure of the XaDataSource/XaConnection/XaResource
> parts, but I will take a look.
>

Great, I just saw that!

The solution XaDataSource etc. is no different from a solution with
IndexService though.


>
> Regards,
> ---
> balazs
>
> On 11/3/10 5:37 PM, Mattias Persson wrote:
> > There should never be a need to implement your own GraphDatabaseService
> or
> > IndexManager... instead these are the things to do to provide your own
> index
> > implementation:
> >
> >
> >     - Create your own SphinxIndexProvider, inspired by
> > LuceneIndexProvider<
> https://svn.neo4j.org/components/lucene-index/trunk/src/main/java/org/neo4j/index/impl/lucene/LuceneIndexProvider.java
> >.
> > It will extend
> >     IndexProvider<
> http://components.neo4j.org/neo4j-examples/1.2.M02/apidocs/org/neo4j/graphdb/index/IndexProvider.html
> >which
> > gets loaded together with the kernel and can therefore participate in
> >     recovery.
> >     - Specify a unique service name f.ex. "sphinx".
> >     - When creating
> > indexes<
> http://components.neo4j.org/neo4j-examples/1.2.M02/apidocs/org/neo4j/graphdb/index/IndexManager.html#forNodes%28java.lang.String,%20java.util.Map%29
> >(accessing
> > for the first time) supply "provider": "sphinx" in that config
> >     map. Or put neo4j config (to your EmbeddedGraphDatabase) "index":
> "sphinx"
> >     so that the provider by default is "sphinx"... then you can just use
> the
> >     normal accessor, i.e. graphDb.index().forNodes( "my-index" ).
> >     - Make sure you have an
> >     META-INF/services/org.neo4j.kernel.KernelExtension containing your
> >     SphinxIndexProvider (common java service API thingie).
> >
> > The XaDataSource/XaConnection/XaResource implementation needed to
> implement
> > an index is a bit tedious and is bound to be simplified in the future.
> Until
> > then you can just look at how the LuceneIndexProvider does things and
> copy
> > that. This information is, as you pointed out, missing from the wiki
> page...
> > I'll add it!
> >
> > 2010/11/3 Balazs E. Pataki<pat...@dsd.sztaki.hu>
> >
> >> Hi,
> >>
> >> we are trying to use the Sphinx indexer with neo4j. With the old API we
> >> could implement an IndexProvider and do indexing on Nodes created by any
> >> GraphDatabaseService (eg. EmbeddedGraphDatabase).
> >>
> >> Now with the new 1.2M02 milestone release there is the "Index
> >> Framework", which is integrated with the GraphDatabaseService. However,
> >> I cannot see how we can now replace the LuceneIndexer implementation
> >> with our SphinxIndexer. The GraphDatabaseService API has an index()
> >> method, which returns an IndexManager and via which you can do the
> >> indexing. There, however, seems no way to provide a different
> >> IndexManager unless we create a new GraphDatabaseService implementation,
> >> eg. by wrapping EmbeddedGraphDatabase and overriding the index() method.
> >>
> >> Is it the supposed way of adding a new indexer to neo4j 1.2M2, or is
> >> there a better way?
> >>
> >> Thanks for any hints in advance!
> >> ---
> >> balazs
> >>
> >> _______________________________________________
> >> Neo4j mailing list
> >> User@lists.neo4j.org
> >> https://lists.neo4j.org/mailman/listinfo/user
> >>
> >
> >
> >
> _______________________________________________
> Neo4j mailing list
> User@lists.neo4j.org
> https://lists.neo4j.org/mailman/listinfo/user
>



-- 
Mattias Persson, [matt...@neotechnology.com]
Hacker, Neo Technology
www.neotechnology.com
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to