2017-04-11 97 views
0

我正在使用Orient DB 2.1.16而不是Key時通過其他屬性進行排序。我在orientDB中有一個頂點類叫做,我還爲人類創建了一個名爲的屬性名稱。我加了全文索引對物業叫person.name .Upon搜索在索引我只能ORDER BY鍵,是否有任何其他的方式來對指數索引搜索:由另一個屬性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給出錯誤從指數只能順序選擇通過關鍵從索引OrientDB選擇

回答

0

指數選擇將不包含未索引屬性的結果時說。如果您想通過不屬於索引的字段進行排序,則還需要選擇相關字段。

例如爲:

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