一部のデータのインデックス作成に ElasticSearch を使用しています。しかし、パフォーマンスはそれほど効率的ではないことがわかりました。
3000 エントリのデータしかなく、各データには 6 つの列があります。これらの 3000 エントリのインデックス作成には 5 分かかります。
私は ElasticSearch を初めて使用するため、私のコードとプログラム フローは次のような基本的なものです。
- 検索して、同じデータがあるかどうかを確認します。
- 同じデータがある場合は、更新します。
- そうでない場合は、追加します。
コードは次のとおりです。
conn = pyes.ES('server:9200')
探す:
searchResult = conn.search(searchDict, indexName, TypeName)
索引
conn.index(storeDict, indexName, TypeName, id)
インデックス データのカウントを更新します。
conn.partial_update(indexName, TypeName, id, "ctx._source.Count += counter", params={"counter" : 1})
コードのパフォーマンスを向上させる方法はありますか?
ご協力ありがとうございました。