文档
指南
根据布尔值过滤

您可以根据布尔值过滤搜索结果。例如,您可以根据 in_stock 过滤搜索结果,以仅显示库存中的产品。

设置布尔字段

要根据布尔值过滤,您必须首先设置一个布尔字段。

将以下文档索引到 Elasticsearch 将创建一个名为 in_stock 的布尔字段

{
  "in_stock": true
}

并且您的映射将如下所示

{
  "mappings": {
    "properties": {
      "in_stock": {
        "type": "boolean"
      }
    }
  }
}

过滤器属性配置

在您的索引配置中添加一个过滤器属性。过滤器属性将用于根据库存标志过滤搜索结果。

 {
  "filter_attributes": [
    { attribute: 'in_stock', field: 'in_stock', type: 'string' },
  ]
 }

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

 {
  "facet_attributes": [
    { attribute: 'in_stock', field: 'in_stock', type: 'string' },
  ]
 }
 

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

使用过滤器属性

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

语法示例

 "in_stock:true" # In stock is true

Apache 2.0 2024 © Joseph McElroy。
需要帮助?加入 discord