从索引 OrientDB 中选择时按其他 属性 而不是 Key 排序

Order by other property instead of Key when selecting from index OrientDB

我正在使用 Orient DB 2.1.16。我在 orientDB 中有一个名为 person 的顶点 class,我还为名为 name[=22 的人 class 创建了一个 属性 =].我在名为 person.name 的 属性 上添加了一个 全文索引 。在搜索索引时,我只能按键排序, 有没有其他方法可以在索引 INDEX:person.name 上搜索,但由像 这样的人 属性 的另一个 属性 排序age 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 给出错误提示,当从索引中选择时只能按键排序

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

例如:

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