Hi Roberto and everyone.
Thank you for your answer.
The redefinition showed was wrong, we don't do that.
We remove all the lucene full text indexes from subclasses. Instead, we add
a property string to put the @class.asString() in the objects and we add it
in the lucene index do enable class search.
Solved all the problems except one behavior that is related to drop a
class.
We have a lucene index in a class and we extend the class in a subclass, if
we drop the subclass the rebuild index * is called.
About the "allowLeadingWildcard", but guys here love asterisk, so we will
keep it enable from now.
Best regards.
André
Em sexta-feira, 17 de fevereiro de 2017 12:21:37 UTC-2, Roberto Franchini
escreveu:
>
>
>
> On Fri, 17 Feb 2017 at 14:36 André Toscano > wrote:
>
>> Hi Luca and everyone
>> I will describe our use case and make a question about Lucene indexes.
>> We developed a hybrid schema in Orientdb defining classes storing
>> documents (nested) and since we love Lucene indexes to enable their use we
>> always dump a document into a string property.
>> To establish the ER we use the direct approach to define Vertexes as
>> Entities and Edges as Relationships.
>> So the basic schema can be describe in oSQL:
>>
>> create class Entities extends V
>> create property Entitites.sdoc STRING
>> create property Entities.location EMBEDDED OPoint
>> create create index Entity.location ON Entity(location) SPATIAL ENGINE
>> LUCENE
>> create index Entity.ssdoc on Entity(sdoc) FULLTEXT ENGINE LUCENE METADATA
>> {"allowLeadingWildcard": true}
>>
>
> fixed from typos:
>
> create class Entities extends V
> create property Entities.sdoc STRING
> create property Entities.location EMBEDDED OPoint
> create index Entities.location ON Entities(location) SPATIAL ENGINE LUCENE
> create index Entities.ssdoc on Entities(sdoc) FULLTEXT ENGINE LUCENE
> METADATA {"allowLeadingWildcard": true}
>
> [cut]
>
>
>> and
>>
>> Create Vertex Companies content
>> {'key':{'key2':'value1','keylist':[1,2,3,4]},'key3':
>> 10,'key':[{'key4':'values'}]} RETURN @rid
>> update <@rid above1> set location = [-39.0,18]
>> update <@rid above1> set sdoc =
>> "{'key':{'key2':'value1','keylist':[1,2,3,4]},'key3':
>> 10,'key':[{'key4':'values'}]}"
>>
>>
> Ok, even this commands are wrong, location is an OPoint. I guess it's il
> almost psedo-code
>
>
>
>
>> Suppose that we have a contract between the two companies, so we would
>> create:
>>
>> create class Contracts extends Relationships
>> create property Relationships.sdoc STRING
>> create index Relationships.ssdoc on Relationships(sdoc) FULLTEXT ENGINE
>> LUCENE METADATA {"allowLeadingWildcard": true}
>>
>>
> Why are you re-defining props and indexes at the sub-class level? Is it
> only a typo ora re you doing it for real?
>
> [cut]
>
>>
>> Now, the problem:
>>
>> We keeping using the database like presented above and sometimes, when we
>> create and drop classes, the lucene indexes stops to work and we need to
>> execute:
>>
>> rebuild index *
>>
>
> My sugestio is to create lucene indexes only one time: on the superclass
> OR on the subclass
> Can you try defining the index only in one place and report if it break
> again?
>
> Moreove, my suggestion is to AVOID "allowLeadingWildcard", it will slow
> down your search and it is a "wrong" way to work with lucene :) (but maybe
> you need to work this way)
>
>
> --
> Best regards,
>
> Roberto Franchini
>
> OrientDB LTD - http://orientdb.com
>
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to orient-database+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.