5

インデックスが存在するにもかかわらず、テキストパターンでレコードを検索する場合、比較的小さい(150K)データセットでも、OrientDBは遅すぎる(少なくともNeo4jよりもはるかに遅い)ことがわかりました。

たとえば、「username」プロパティには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 に答える