反转词元过滤器

编辑

反转流中的每个词元。例如,您可以使用 reverse 过滤器将 cat 更改为 tac

反转的词元对于基于后缀的搜索很有用,例如查找以 -ion 结尾的单词或按文件扩展名搜索文件名。

此过滤器使用 Lucene 的 ReverseStringFilter

示例

编辑

以下 analyze API 请求使用 reverse 过滤器反转 quick fox jumps 中的每个词元

resp = client.indices.analyze(
    tokenizer="standard",
    filter=[
        "reverse"
    ],
    text="quick fox jumps",
)
print(resp)
response = client.indices.analyze(
  body: {
    tokenizer: 'standard',
    filter: [
      'reverse'
    ],
    text: 'quick fox jumps'
  }
)
puts response
const response = await client.indices.analyze({
  tokenizer: "standard",
  filter: ["reverse"],
  text: "quick fox jumps",
});
console.log(response);
GET _analyze
{
  "tokenizer" : "standard",
  "filter" : ["reverse"],
  "text" : "quick fox jumps"
}

该过滤器产生以下词元

[ kciuq, xof, spmuj ]

添加到分析器

编辑

以下 创建索引 API 请求使用 reverse 过滤器来配置新的自定义分析器

resp = client.indices.create(
    index="reverse_example",
    settings={
        "analysis": {
            "analyzer": {
                "whitespace_reverse": {
                    "tokenizer": "whitespace",
                    "filter": [
                        "reverse"
                    ]
                }
            }
        }
    },
)
print(resp)
response = client.indices.create(
  index: 'reverse_example',
  body: {
    settings: {
      analysis: {
        analyzer: {
          whitespace_reverse: {
            tokenizer: 'whitespace',
            filter: [
              'reverse'
            ]
          }
        }
      }
    }
  }
)
puts response
const response = await client.indices.create({
  index: "reverse_example",
  settings: {
    analysis: {
      analyzer: {
        whitespace_reverse: {
          tokenizer: "whitespace",
          filter: ["reverse"],
        },
      },
    },
  },
});
console.log(response);
PUT reverse_example
{
  "settings" : {
    "analysis" : {
      "analyzer" : {
        "whitespace_reverse" : {
          "tokenizer" : "whitespace",
          "filter" : ["reverse"]
        }
      }
    }
  }
}