キーワードトークナイザー
keyword
トークナイザーは「noop」トークナイザーで、与えられたテキストをそのまま受け入れ、単一の用語として同じテキストを出力します。出力を正規化するためにトークンフィルターと組み合わせることができ、例えば、メールアドレスを小文字に変換することができます。
例の出力
Python
resp = client.indices.analyze(
tokenizer="keyword",
text="New York",
)
print(resp)
Ruby
response = client.indices.analyze(
body: {
tokenizer: 'keyword',
text: 'New York'
}
)
puts response
Js
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やメールアドレスなどの構造化データを正規化できます。
例えば、次の analyze API リクエストは keyword
トークナイザーと lowercase
フィルターを使用して、メールアドレスを小文字に変換します。
Python
resp = client.indices.analyze(
tokenizer="keyword",
filter=[
"lowercase"
],
text="[email protected]",
)
print(resp)
Ruby
response = client.indices.analyze(
body: {
tokenizer: 'keyword',
filter: [
'lowercase'
],
text: '[email protected]'
}
)
puts response
Js
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]"
}
リクエストは次のトークンを生成します:
テキスト
[ john.smith@example.com ]
設定
keyword
トークナイザーは次のパラメータを受け入れます:
buffer_size |
単一のパスで用語バッファに読み込まれる文字数。 デフォルトは 256 です。用語バッファは、すべてのテキストが消費されるまでこのサイズで成長します。この設定を変更しないことをお勧めします。 |