我是 ElasticSearch 和一般搜索的新手。
我有一个需要搜索的大型数据库。70张桌子。
我不太清楚搜索这样的数据库的最佳实践。我已经对 25 个数据库表进行了大型 SQL 选择,以获取我需要的所有数据。我这样做主要是因为我需要 Facets。
这在 ElasticSearch 中有意义吗?在 ElasticSearch 中组织要搜索的数据的最佳方式是什么?
此致,
我是 ElasticSearch 和一般搜索的新手。
我有一个需要搜索的大型数据库。70张桌子。
我不太清楚搜索这样的数据库的最佳实践。我已经对 25 个数据库表进行了大型 SQL 选择,以获取我需要的所有数据。我这样做主要是因为我需要 Facets。
这在 ElasticSearch 中有意义吗?在 ElasticSearch 中组织要搜索的数据的最佳方式是什么?
此致,
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 的一个强大功能,在索引或类型之间划分数据也牢记性能。