我的计划是在单独的 linux 服务器上运行弹性搜索作为 Web 服务。然后我会直接从我的应用程序调用它来搜索字符串或其他非结构化数据。我不明白的是,这是否会基本上替换某些对象的数据库,或者在创建对象时,我是否应该在弹性搜索中索引它的 ID、对象类型和标签,同时将整个对象保存到我的数据库中? 然后我可以调用 Web 服务以获取对象的 ID,然后根据该 ID 查询我的数据库以检索实际对象?
这是考虑使用弹性搜索的正确方法吗?
我的计划是在单独的 linux 服务器上运行弹性搜索作为 Web 服务。然后我会直接从我的应用程序调用它来搜索字符串或其他非结构化数据。我不明白的是,这是否会基本上替换某些对象的数据库,或者在创建对象时,我是否应该在弹性搜索中索引它的 ID、对象类型和标签,同时将整个对象保存到我的数据库中? 然后我可以调用 Web 服务以获取对象的 ID,然后根据该 ID 查询我的数据库以检索实际对象?
这是考虑使用弹性搜索的正确方法吗?
您可以通过两种方式使用 ElasticSearch:将其用作主存储,或用作搜索引擎。Tire rubygem 允许您这样做,请参阅自述文件。
使用 ElasticSearch,将其用作数据源更有意义,因为它可以索引和存储任意 JSON。您可能希望将数据保存到单独的存储中以进行备份和冗余。