orientdb: Creating indexes on embedded maps/objects fails

class Customer { address: { address…, city…, postalCode… } }

create index CustomerAddress on Customer(address.address) NOTUNIQUE (or FULLTEXT etc.)

responds with :

com.orientechnologies.orient.core.index.OIndexException: Index with name : 'CustomerAddress' cannot be created on class : 'Customer' because field: 'address.address' is absent in class definition.

After discussion with Luca, it appears that this might just be the property check that is failing even though the indexing could work.

I will be pushing a test case soon. Thanks!

About this issue

  • Original URL
  • State: closed
  • Created 10 years ago
  • Comments: 28 (16 by maintainers)

Most upvoted comments

Hi @dcardin

Thank you very much for your feedback, this feature is definitely important for us as well and we tried to add it to the roadmap more than once. Unfortunately, as you said, it’s not there yet, but given the attention it has (and thanks to your comments and all the feedback on this issue) I’ll try to raise it to the attention of the team again and see if we can speed up this development

Thanks

Luigi

@schernolyas What he meant was that he thought this bug was finally addressed by the team and he was super happy about it. Then he realized that it’s still not fixed so he had a big up and down because of it. I raised this issue 4 years ago, and it is THE reason why I am not using Orient on my projects. I really thought it was the best product for document management, but not being to index sub-documents is seriously nuts.

Help us spread the love, guys @lvca @laa @luigidellaquila

please make it available guys, I am looking forward to it

I agree with dcardin that this is a critical feature if you are serious about the document database interface being useful, particularly to somebody used to MongoDB. A lack of ability to index the properties of embedded documents makes the ability to embed documents nearly useless.

hi,

Unluckely this feature is not in the rc1, so we have to move it to 3.0 or forward