gpt4 book ai didi

c# - 即时管理和搜索 100,000 多个对象的有效方法? (C#)

转载 作者:行者123 更新时间:2023-11-30 19:13:43 25 4
gpt4 key购买 nike

我正在为拥有大量收藏(超过 100,000 首轨道)的发烧友编写一个媒体播放器,我的主要目标之一是提高搜索速度。我想允许用户根据以下因素对他们的整个音乐收藏执行类似 Google 的搜索:

  • 歌曲路径和文件名
  • ID3 标签中的项目(标题、艺术家、专辑等)
  • 歌词

存储和搜索这些数据的最佳方式是什么?目前,我将每个轨道存储在一个对象中,并遍历这些对象的数组,根据给定的搜索文本检查它们的每个变量是否匹配字符串。

虽然我的搜索无效,但我遇到了一些问题,因为它始终是短语搜索,我不确定如何使其更加模糊。像 SQLlite 这样的内部数据库会比这更快吗?关于我应该如何构建这个系统有什么想法吗?

我还需要播放列表持久性,这样当他们关闭应用程序并打开应用程序时,他们会立即加载相同的播放列表。我应该如何存储播放列表信息以便它可以在应用程序启动时快速加载?目前我正在对整个播放列表进行 JSON 编码,将其存储在文本文件中,并在运行时将其读入 ListView,但它在超过 20,000 首轨道时变得缓慢。

谢谢!

最佳答案

SQLite 应该可以很好地处理这个问题。对于扩展的搜索功能,您可以查看 Lucene.NET。关于您的大型播放列表,这些也应该存储在数据库中,并通过分页加载它们(即一次 50 首轨道)。

关于c# - 即时管理和搜索 100,000 多个对象的有效方法? (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2946836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com