elasticsearch - 我应该在一个表中组织数据吗?

时间:2013-03-11 11:04:48

标签: elasticsearch

我是ElasticSearch的新手,一般都是搜索。

我需要搜索一个大型数据库。 70桌。

我不太清楚哪种搜索数据库的最佳做法。我已经完成了对25个数据库表的大型SQL选择,以获得我需要的所有数据。我主要是这样做的,因为我需要Facets。

这在ElasticSearch中有意义吗?如何在ElasticSearch中组织要搜索的数据的最佳方法?

最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

ElasticSearch的一个显着特征是能够跨多个索引/类型或两者进行搜索,这将允许您以与数据库中结构相似的方式构建数据。

指数本质上是ElasticSearch等同于数据库,而类型是表格中的类型。这允许您保持数据分离,例如具有如此的ElasticSearch定义 -

Index  |  Type

data   -  table1
data   -  table2
data   -  table3
data   -  ....

这将允许您在一个查询中搜索所有类型,如此 -

curl -XPUT <host>:9200/data/table1,table2,table3

或者您可以使用相同类型的不同索引,如此 -

Index  |  Type

data1   -  table
data2   -  table
data3   -  table
data4   -  ....

这种逻辑上分离数据的能力是ElasticSearch的一个强大功能,在索引或类型之间划分数据也会记住性能。