我正在开发一个实时搜索功能,它将从搜索字符串中识别出正确的模式。然后使用这个模式进行搜索,并动态返回正确的数据库模式。例如,像Google Assistant一样。
回答:
如果你将GraphQL与Elasticsearch进行比较,那你就是在拿苹果和橙子做比较。它们是完全不同的技术。
GraphQL是一种API层技术,与REST类似。它主要定义了基于HTTP的API的请求/响应格式和结构。它不是另一种NoSQL数据库,不能帮助你高效地存储和查询数据。
如果你使用GraphQL,你仍然需要自己查询数据,这些数据可能实际存储在NoSQL、SQL数据库、Elasticsearch或其他网络服务中。GraphQL不关心你将数据存储在哪里,数据甚至可以存储在多个数据源中。它关心的是你告诉它如何获取数据。
回到你的情况,你很可能可以使用Elasticsearch来高效地存储和搜索数据。然后在Elasticsearch前面放置GraphQL,这样用户/开发者可以通过GraphQL API与服务交互,从而享受GraphQL的优势。