我是ElasticSearch的新手,一般都是搜索。
我需要搜索一个大型数据库。 70桌。
我不太清楚哪种搜索数据库的最佳做法。我已经完成了对25个数据库表的大型SQL选择,以获得我需要的所有数据。我主要是这样做的,因为我需要Facets。
这在ElasticSearch中有意义吗?如何在ElasticSearch中组织要搜索的数据的最佳方法?
最诚挚的问候,
答案 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的一个强大功能,在索引或类型之间划分数据也会记住性能。