Azure 搜索中的实体不断变化怎么办?

What to do when entities keeps changing in Azure Search?

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

H.Z.,

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

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

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

另一种选择可能是有 2 个索引。一个有聊天室,另一个有聊天室。

无论如何,我希望这对您有所帮助,并希望根据您的回复,我可以帮助您深入了解更多细节。

利亚姆