如何在ElasticSearch上创建自动索引?
就像wordpress一样?请参阅:http://gibrown.wordpress.com/2014/02/06/scaling-elasticsearch-part-2-indexing/
在我们的案例中,我们为每1000万个博客创建一个索引,每个索引有25个分片。
有什么亮点吗?
谢谢!
答案 0 :(得分:1)
您可以使用您喜欢的任何脚本语言来执行此操作。首先运行查询,获取索引中文档数的计数。如果它超过一定数量,您可以通过Elasticsearch API或卷曲创建一个新的。
以下是查找文档数量的查询:
curl --XGET 'http://localhost:9200/youroldindex/_count'
这是索引创建卷曲:
curl -XPUT 'http://localhost:9200/yournewindex/' -d '{
"settings" : {
"number_of_shards" : 25,
"number_of_replicas" : 2
}
}'
您可能还想创建别名,以便您的代码始终指向单个索引别名,然后在更改热索引时更改别名:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html
您可能也希望预定义映射:
curl -XPUT 'http://localhost:9200/yournewindex/yournewmapping/_mapping' -d '
{
"document" : {
"properties" : {
"message" : {"type" : "string", "store" : true }
}
}
}
'
Elasticsearch有相当完整的文档,有几个好看的地方:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping.html http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html