0

我正在开发一个类似聊天的应用程序,并希望为其提供搜索功能。我正在考虑使用 Azure 搜索。曾经有可能将每个聊天室视为 Azure 搜索中的单个实体,以便每个实体代表一个聊天室。我遇到的挑战是因为每个聊天室都不断收到新消息,聊天室的索引也在不断变化。我可以使用队列机制将更改排队并在 Azure 搜索中更新我的实体,但我不知道它是否是一个好的可扩展解决方案。显然我需要增加副本的数量来跟上变化。有什么推荐吗?Azure 搜索是否适合这种情况?

4

1 回答 1

3

赫兹,

我们确实有客户将我们用于基于聊天/即时消息的应用程序,因此我们可能会满足您的需求。在我回答你的问题之前,你能告诉我你希望能够搜索哪些类型的东西吗?

是仅仅搜索聊天室还是搜索聊天室以及这些聊天室中的消息?如果只是搜索聊天室,您可能需要考虑采用建议的方法,然后将聊天消息存储在成本较低的存储(例如 Azure 存储)中,然后根据需要简单地拉入消息文本。

如果是后者,那么下一个问题是您是否希望能够进行跨越聊天室和其中的消息的搜索,这表明将它们放在单个索引中很有意义,尽管无论您是将所有消息放在一个文档中还是每条消息都有一个文档,我们都应该深入研究一下。我会想到将所有消息都放在一个索引中的主要问题是用户想要深入了解(或过滤)聊天室中的特定消息的情况。我认为如果您将消息拆分为单独的文档,这可能会有点困难。

另一种选择可能是有 2 个索引。一个有聊天室,另一个有单独的消息。

无论如何,我希望这有助于作为一个开始,并根据您的回答,希望我可以帮助您深入了解更多细节。

利亚姆

于 2015-12-02T19:05:26.207 回答