Javascript - "lunr"会成为Firebase的可行搜索库吗?



我正在尝试为我的网站实现一个使用 Firebase 作为数据库的搜索栏。它是一堆指向某些图像和嵌入视频的链接。我在想是否最好为每个链接都有一个 lunr 库会查询的"标签"字段?我将每个标签字段拆分为一个字符串数组,lunr 会查找每个字符串?

我的数据库的 JSON 格式为:

{   "Featured" : {
    "Link1" : {
      "isEmbed" : false,
      "priority" : 4,
      "url" : "https://s3.amazonaws.com/hagshs8282n23/image7.jpg",
      "tag" : nba nfl nhl mlb yahoo
    },
    "Link2" : {
      "isEmbed" : false,
      "priority" : 3,
      "url" : "https://s3.amazonaws.com/hagshs8282n23/image6.jpg",
      "tag" : fire base stuff art cool
    } }

这是搜索对象的缓慢方法还是有更好的思考方法?

或者,我想每当将文件添加到数据库中时,我都会将新的 JSON 结构导出到网站主目录中的文件夹(/dir/或类似的东西),然后让 lunr 从中读取而不是 Firebase。这会更快,因为文件是本地文件而不是在 Firebase 中,还是不会有什么不同?

如果你想要/需要全文搜索,那么 lunr 当然可以用来提供这些文档中标签的索引。

如果这些链接有描述,那么 lunr(或任何其他全文搜索)将是一个不错的选择,然后你真的在进行全文搜索。

无论如何,对我来说,标签意味着分面搜索。我想你会有一个这些标签的有限列表,然后你会想要找到哪些链接有这些确切的标签。你可以用 lunr 近似一些类似的东西,但可能有更好的工具来完成这项工作。

现在,如果您有一个大型标签列表,可能带有某种描述,那么您可以使用 lunr 允许用户搜索标签,然后使用这些标签对您的链接执行分面搜索。

至于将 lunr 与 firebase 一起使用,只要 lunr 可以访问所有链接数据以进行索引,它就不在乎您实际存储文档的位置。我对Firebase一点也不熟悉,所以不能评论将lunr与该服务集成的实用性,也许其他人可以在这方面为您提供帮助。

相关内容

  • 没有找到相关文章

最新更新