Hey guys, quick question on indexing.

We track Amazon products in our db, and the way Amazon identifies its
products is with an Amazon Standard Identification Number (ASIN). The only
catch is that ASINs are only unique within a particular locale, and Amazon
has a few different locales (e.g. us, uk, de, jp, etc.).

Because of this, when we index and lookup Amazon products, we need to index
and lookup with *both* properties together. E.g. we really want to index the
pair.

As such -- and because we use Neo4j's auto-indexing -- we created a shadow
"locale+asin" property that sits alongside the regular "locale" and "asin"
properties, and it's a concatenation of the two values,
e.g. "us+A123456789". We thus index and perform lookups via this shadow
property.

Recently, though, I saw that you can query even "exact" indexes with complex
Lucene syntax, so in theory, we could ditch the shadow property and query
something like "(locale:us AND asin:A123456789)". Will this be slower
though, if there many items w/ the same locale?

Generalizing, then, which of these two routes is the recommended way of
indexing paired properties? (Or is there a third way?) Thanks!

Aseem
_______________________________________________
Neo4j mailing list
User@lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to