文档
指南
按数值过滤

您可以按数值过滤搜索结果。例如,您可以按价格、评分或任何其他数值过滤。

设置数值字段

要按数值过滤,您必须首先设置一个数值字段。

将以下文档索引到 Elasticsearch 将创建一个名为 price 的长字段

{
  "price": 10
}

并且您的映射将如下所示

{
  "mappings": {
    "properties": {
      "price": {
        "type": "long"
      }
    }
  }
}

过滤器属性配置

向您的索引配置中添加过滤器属性。过滤器属性将用于按价格过滤搜索结果。

 {
  "filter_attributes": [
    { attribute: 'price', field: 'price', type: 'numeric' },
  ]
 }

或者,您可以在 facet_attributes 下设置属性以使其可用于分面。

 {
  "facet_attributes": [
    { attribute: 'price', field: 'price', type: 'numeric' }
  ]
 }
 

属性名称在 filter_attributesfacet_attributes 中都必须是唯一的。如果您想将同一个属性用于过滤和分面,则只需将其添加到 facet_attributes

使用过滤器属性

您可以在搜索查询中使用过滤器属性,在 configure 中按日期过滤搜索结果。

语法示例

 "price:10" # price is 10
 "price:[10 TO 20]" # price is between 10 and 20
 "price:[10 TO *]" # price is greater than 10
 "price:[* TO 20]" # price is less than 20

Apache 2.0 2024 © Joseph McElroy.
需要帮助?加入 Discord