【问题标题】:Javascript - Would 'lunr' be a viable search library for Firebase?Javascript - 'lunr' 会成为 Firebase 的可行搜索库吗?
【发布时间】:2016-07-17 04:41:17
【问题描述】:

我正在尝试为我的网站实现一个使用 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 中的文件,这样会更快吗?还是不会产生影响?

【问题讨论】:

    标签: javascript firebase lunrjs


    【解决方案1】:

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

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

    无论如何,标签对我来说意味着faceted search。我想你会有这些标签的有限列表,然后你会想找到哪些链接有这些确切的标签。您可以使用 lunr 进行近似计算,但可能有更好的工具来完成这项工作。

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

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

    【讨论】:

      猜你喜欢
      • 2020-07-30
      • 2010-10-24
      • 2021-09-09
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多