The slight mismatch being one is a node index and the other a relationship
index, but it's just a matter of choosing end/start node to index really.

2011/8/10 Rick Bullotta <[email protected]>

> ....or of course you could just put it all in one index.
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of Mattias Persson
> Sent: Wednesday, August 10, 2011 3:31 PM
> To: Neo4j user discussions
> Subject: Re: [Neo4j] Graph database index | query across indices
>
> Compound query between two indices isn't possible, but you could just query
> both and intersect the node set with the end or start node set from the
> relationships.
>
> 2011/7/27 sambodhi sagi <[email protected]>
>
> > Hi !
> >
> > I am facing some problem with indexing. My graph looks like this:
> >
> >
> >
> >
> > Say, I want to query products for a particular category (say
> 'Phone,Mobiles
> > and telecoms') AND having text 'attractive' in 'details' field. I created
> > two indices: one for Relationship 'RelProductIndex' and one for product
> > 'ProductIndex'. Algo for what I exactly want to achieve :
> >
> > typeHits = relProdctIndex.query( "type:Product", phoneAndTelecomCatNode,
> > null );
> > for each typeHits {
> >  productsInCatList.add(typeHits.getEndNode());
> > }
> >
> > productsTextSearchHits = productIndex.query("details", "attractive");
> >
> > resultantProducts =  common set between productsInCatList and
> > productsTextSearchHits
> >
> > My query is something like this
> >
> > QUERY-1 AND QUERY-2
> >
> > QUERY-1 : EndNodes (say end node is a product) of a relationship of type
> > 'Product' (this query is for RelProductIndex)
> > QUERY-2 : products which has text 'mobile' (this query is for
> > ProductsIndex)
> >
> > So basically what it requires is *compound query across two indices*.
> > Normally we donot do compound queries across indices but am not sure how
> to
> > handle this.* One solution* I can think of is to add 'details' property
> to
> > the relationship Product also. In this case I can use only relationship
> > index:
> >
> > typeHits = relProdctIndex.query( "type:Product AND details:attractive",
> > phoneAndTelecomCatNode, null );
> >
> > Problem I see with this approach is, I would end up indexing same
> field(or
> > key) in two different indices (Product node and Product relationship).
> This
> > might hit the performance.* Can there be a better approach to handle
> this?*
> > _______________________________________________
> > Neo4j mailing list
> > [email protected]
> > https://lists.neo4j.org/mailman/listinfo/user
> >
>
>
>
> --
> Mattias Persson, [[email protected]]
> Hacker, Neo Technology
> www.neotechnology.com
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
>



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

Reply via email to