2

我是 ElasticSearch 和一般搜索的新手。

我有一个需要搜索的大型数据库。70张桌子。

我不太清楚搜索这样的数据库的最佳实践。我已经对 25 个数据库表进行了大型 SQL 选择,以获取我需要的所有数据。我这样做主要是因为我需要 Facets。

这在 ElasticSearch 中有意义吗?在 ElasticSearch 中组织要搜索的数据的最佳方式是什么?

此致,

4

1 回答 1

1

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

Indices 本质上是 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 的一个强大功能,在索引或类型之间划分数据也牢记性能。

于 2014-01-20T16:51:27.807 回答