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

Reply via email to