关键字分词器

编辑

keyword 分词器是一个“无操作”分词器,它接受任何给定的文本,并将其原样输出为单个词元。它可以与词元过滤器结合使用以规范化输出,例如小写化电子邮件地址。

示例输出

编辑
resp = client.indices.analyze(
    tokenizer="keyword",
    text="New York",
)
print(resp)
response = client.indices.analyze(
  body: {
    tokenizer: 'keyword',
    text: 'New York'
  }
)
puts response
const response = await client.indices.analyze({
  tokenizer: "keyword",
  text: "New York",
});
console.log(response);
POST _analyze
{
  "tokenizer": "keyword",
  "text": "New York"
}

上述句子将产生以下词元

[ New York ]

与词元过滤器结合使用

编辑

您可以将keyword 分词器与词元过滤器结合使用以规范化结构化数据,例如产品 ID 或电子邮件地址。

例如,以下分析 API 请求使用keyword 分词器和lowercase 过滤器将电子邮件地址转换为小写。

resp = client.indices.analyze(
    tokenizer="keyword",
    filter=[
        "lowercase"
    ],
    text="[email protected]",
)
print(resp)
response = client.indices.analyze(
  body: {
    tokenizer: 'keyword',
    filter: [
      'lowercase'
    ],
    text: '[email protected]'
  }
)
puts response
const response = await client.indices.analyze({
  tokenizer: "keyword",
  filter: ["lowercase"],
  text: "[email protected]",
});
console.log(response);
POST _analyze
{
  "tokenizer": "keyword",
  "filter": [ "lowercase" ],
  "text": "[email protected]"
}

该请求产生以下词元

配置

编辑

keyword 分词器接受以下参数

buffer_size

一次性读入词元缓冲区的字符数。默认为256。词元缓冲区将按此大小增长,直到所有文本都被消耗。建议不要更改此设置。