私はCassandraストレージバックエンドを持つTitanデータベースを持っており、2つのプロパティキーに基づいて混合インデックスを作成しようとしています。弾性検索インデックスが非常に遅い
私は次のコマンドを使用してインデックスを登録することができる午前:
graph=TitanFactory.open(config);
graph.tx().rollback()
m = graph.openManagement();
m.buildIndex("titleBodyMixed", Vertex.class).addKey(m.getPropertyKey("title")).addKey(m.getPropertyKey("body")).buildMixedIndex("search");
m.commit();
m.awaitGraphIndexStatus(graph, 'titleBodyMixed').status(SchemaStatus.REGISTERED).timeout(3, java.time.temporal.ChronoUnit.MINUTES).call();
そして、私はチェックしています、インデックスが正常に数秒後に登録されています。次のステップでは、私は、次のコマンドを使用して、データベースのインデックスを再作成しよう:
m = graph.openManagement();
m.updateIndex(m.getGraphIndex('titleBodyMixed'), SchemaAction.REINDEX).get();
しかし、updateIndexコマンドは、(12時間後)、仕上げされていません。
データベースに約300kのデータエントリがあり、各データエントリには1つのタイトルと1つの本文があります。
私の質問は、どのようにインデックスをスピードアップできますか?
私はtopコマンドを使用していたとき、私は私のCPUは、索引付けプロセスによって飽和されていないことを参照してください。
マイタイタンの設定ファイルは、のように怒鳴るです:
config =new BaseConfiguration();
config.setProperty("storage.backend","cassandra");
config.setProperty("storage.hostname", "127.0.0.1");
config.setProperty("storage.cassandra.keyspace", "smartgraph");
config.setProperty("index.search.elasticsearch.interface", "NODE");
config.setProperty("index.search.backend", "elasticsearch");
以下れますelasticsearchサービスのプロパティを示す:
curl -X GET 'http://localhost:9200'
{
"status" : 200,
"name" : "Ms. Marvel",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.7.2",
"build_hash" : "e43676b1385b8125d647f593f7202acbd816e8ec",
"build_timestamp" : "2015-09-14T09:49:53Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}