Why are you using Lucene if you don't need full-text features?

I would try with:

SELECT FROM Location WHERE name LIKE 'Lon%' OR
out('language').name LIKE 'Lon%' LIMIT 20


2014-06-17 13:58 GMT+02:00 Vladimir Ziankevich <
[email protected]>:

> Ouch, I was mistaken. The second query makes search only  throough the
> aliases. I think that is a correct variant of the second query
>
> SELECT EXPAND( $c )
> LET $a = (select from (traverse * from (select in_language from Alias
> where name LUCENE 'fr_tord*') while $depth <=2) where @class='Location'
> order by name_en),
> $b = ( SELECT FROM Location where name_en LUCENE 'Minsk*' ),
> $c = UNIONALL( $a, $b )
>
> But the main question is still not answered. Is there any way to make
> similar search without traversing?
>
> вторник, 17 июня 2014 г., 13:22:00 UTC+3 пользователь Vladimir Ziankevich
> написал:
>
>> I have the next database schema:
>>
>> vertex type Location(properties: id, name)
>> vertex type Alias(properties: name)
>> edge type Language(properties: name)
>>
>> Each vertex of Location can have multiple edges with Aliases.
>> For example:
>>                  location(1,London) -> edge language(name='english') ->
>> alias(name='City of London')
>>                                              -> edge
>> language(name='french') -> alias(name='Londres')
>>
>> There are about 600 000 locations and more than 1 000 000 aliases. I need
>> to implement fast search of locations through the location names and
>> aliases for typeahead.
>> I've applied Lucene indices both to Location.name and Alias.name and
>> expected to get appropriate locations list running query like:
>>
>> select from Location where name LUCENE 'Lon*' or out_language.in.name
>> LUCENE 'Lon*' limit=20
>> something like that.
>>
>> But it does not work. This query returns all the locations from database.
>>
>> I've found another one query that works correctly
>>
>> select from
>> (traverse * from (select in_language from Alias where name LUCENE 'Lon*')
>> while $depth <=2)
>> where @class='Location'
>>
>> but I'm worried about the performance.
>>
>> Could someone offer me another variants? Or how to tune this one query.
>> Thanks in advance.
>>
>  --
>
> ---
> 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 [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 

--- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to