【问题标题】:How does Bloodhound fit into typeahead.js?Bloodhound 如何融入 typeahead.js?
【发布时间】:2017-12-21 17:39:19
【问题描述】:

我试图了解 Twitter 的 typeahead.js 库是如何工作的,但我并不真正了解 Bloodhound,“建议引擎”除了充当 typeahead 对象的源之外还有什么作用。

我的一些具体问题是:

  • 什么是查询?什么是基准?它们长什么样?我从哪里得到它们
  • 为什么需要标记我的查询和数据?
  • 标记化查询和数据会发生什么情况?

我已经阅读了源代码,但我的 Javascript 并不是那么先进……文档对我来说真的不清楚,因为它主要是示例,而且似乎针对已经以特定方式实现预输入的人.

如果有人能从概念上解释它是如何工作的,我将非常感激。

最好的问候, 约书亚

【问题讨论】:

    标签: javascript twitter-bootstrap typeahead.js


    【解决方案1】:

    Typeahead Tutorial @Digital FortressJS Fiddles 一起提供了详细的分步说明,可帮助您开始了解 Bloodhound 和 Typeahead 如何协同工作。

    以下是教程中关于我推断的一些摘录

    • 什么是查询?查询是用户在文本框中键入的文本
    • 什么是基准?基准是一个单一的建议。 (一个字符串)
    • 为什么需要对查询和数据进行标记? 标记意味着将字符串转换为更小的字符串数组(称为标记)。这样做是为了简化搜索操作。例如,以字符串 “hello super man” 为例。您可以将此字符串转换为 3 个较小的字符串,方法是用空格字符分隔它们。因此,"hello super man" 将变为["hello","super","man"],并且可以轻松搜索以hellosuper 和/或man 开头/包含的单词。

    • 标记化查询和数据会发生什么情况? Bloodhound 引擎使用这些来向用户返回建议。 Bloodhound 匹配查询和数据,并将结果作为建议返回给用户。

    注意:官方 Typeahead 库自 3 年多以来收到任何更新(参考 github)。但是应该使用一个积极维护的fork(截至 2018 年)。

    Reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      相关资源
      最近更新 更多