5

尽管存在索引,但在按文本模式搜索记录时,我发现 OrientDB 太慢(至少比 Neo4j 慢得多),即使在相对较小(150K)的数据集上也是如此。

例如,我有“用户名”属性的 UNIQUE 和 FULLTEXT 索引,但如下所示 OrientDB 不使用任何索引。

orientdb> explain select username from P where username like 'log%'    

Profiled command '{current:#10:152060,documentReads:152061,documentAnalyzedCompatibleClass:152061,recordReads:152061,elapsed:6.5357623,resultType:collection,resultSize:88}' in 6,537000 sec(s):
{
  "@type": "d", "@version": 0, 
  "current": "#10:152060", 
  "documentReads": 152061, 
  "documentAnalyzedCompatibleClass": 152061, 
  "recordReads": 152061, 
  "elapsed": 6.5357623, 
  "resultType": "collection", 
  "resultSize": 88, 
  "@fieldTypes": "documentReads=l,documentAnalyzedCompatibleClass=l,recordReads=l,elapsed=f"
}

有什么方法可以加快 OrientDB 中的模式搜索?

4

1 回答 1

7

为了使用全文索引,您应该使用 containstext 运算符,例如:

explain select username from P where username containstext 'log'

或试试这个:

 explain select username from P where username >= 'log' and username < 'loh'
于 2013-01-28T17:09:12.397 回答