从索引OrientDB

时间:2017-04-11 09:32:43

标签: orientdb-2.1

我正在使用 Orient DB 2.1.16 。我在orientDB中有一个名为 person 的顶点类,我还为person类创建了一个名为 name 的属性。我在该属性上添加了一个名为 person.name 全文索引。在索引上搜索我只能按键排序,有没有其他方法可以搜索索引 INDEX:person.name 但是按年龄 SELECT FROM INDEX:person.name WHERE KEY CONTAINSTEXT 'abc' ORDER BY KEY ASC之类的其他属性的订单工作正常,但SELECT FROM INDEX:person.name WHERE KEY CONTAINSTEXT 'abc' ORDER BY age ASC给出错误,说明从索引中选择时只能按键排序

1 个答案:

答案 0 :(得分:0)

索引中选择的结果将不包含未编入索引的属性。如果您想按不属于索引的字段进行排序,则还需要选择相关字段。

E.g:

SELECT name, age FROM (SELECT EXPAND(rid) FROM INDEX:person.name WHERE
KEY CONTAINSTEXT 'abc') ORDER BY age ASC

更简单的解决方案是使用 ContainsText 运算符从原始顶点查询属性:

SELECT name, age from person WHERE (name CONTAINSTEXT 'abc') ORDER BY age ASC