【问题标题】:Backgrid.filter precedence of filtering based on field nameBackgrid.filter 根据字段名过滤的优先级
【发布时间】:2015-04-17 04:58:27
【问题描述】:

我是 backgrid.js 的新手,我正在使用过滤器作为我的 Web 应用程序的扩展功能。我对LunrFilter 感到很困惑。正如代码在this page 中定义的那样,它具有参数{ field : 10 }。我可以知道字段名称和提升值是什么以及如何影响集合的过滤吗?

另外,Backgrid.filter 是否可以按优先级过滤集合?

例如,我有以下数据:

Record #1 - fname : Adam; lname : Smith
Record #2 - fname : Luke; lname : Adam
Record #3 - fname : John; lname : Adam

我希望lname 优先于fname 进行过滤。 如果我在搜索栏中输入“Adam” - 表格必须首先显示记录 #2 和 #3,最后显示 #1。

【问题讨论】:

    标签: javascript backbone.js filter backgrid lunrjs


    【解决方案1】:

    来自文档

    可以传递一个可选的 boost 参数来影响该字段中的令牌在搜索结果中的排名,默认情况下 boost 值为 1。

    我怀疑它是用来对搜索结果进行排名的。 这些字段实际上应该是一个 json 对象。其中每个名称都是字段名称。每个值都是提升值。

    fields:{
        Name:10,
        Field2:1,
        Field3:1,
    }
    

    在 lunrjs 中默认 boost 为 1 并且是可选的。但我想在这种情况下你必须为每个字段设置提升。

    【讨论】:

      猜你喜欢
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-29
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 2020-09-05
      相关资源
      最近更新 更多