文档
指南
根据字符串值过滤

您可以根据字符串值过滤搜索结果。这对于根据作者、标签或任何其他字符串值进行过滤很有用。

设置字符串字段

要根据字符串进行过滤,您必须首先将关键字添加到索引中。

将以下文档索引到 Elasticsearch 将创建一个可用于过滤的author 字段。

{
  "author": "John Doe" # could be ["John Doe", "Jane Doe"] for multiple authors
}

您的映射将如下所示

{
  "properties": {
    "author": {
      "type": "text",
      "fields": {
        "keyword": {
          "type": "keyword"
        }
      }
    }
  }
}

过滤器属性配置

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

 {
  "filter_attributes": [
    { attribute: 'author', field: 'author.keyword', type: 'string' },
  ]
 }
 

或者,您也可以在facet_attributes 下添加属性以使其可用于分面。

 {
  "facet_attributes": [
    { attribute: 'author', field: 'author.keyword', type: 'string' }
  ]
 }
 

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

使用过滤器属性

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

语法示例

过滤器必须遵循Elasticsearch 查询字符串 (在新标签页中打开) 格式。

 "author:John" # author is John
 "author:John OR author:Jane" # author is John or Jane
 "author:John AND author:Jane" # author is John and Jane

示例

Instantsearch.js - 配置

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