大文字トークンフィルター
トークンテキストを大文字に変更します。例えば、uppercase
フィルターを使用してthe Lazy DoG
をTHE LAZY DOG
に変更できます。
このフィルターはLuceneのUpperCaseFilterを使用します。
言語によっては、大文字が複数の小文字にマッピングされることがあります。uppercase
フィルターを使用すると、小文字の情報が失われる可能性があります。
この損失を避けつつ、一貫した文字ケースを維持するには、代わりにlowercase
フィルターを使用してください。
例
以下のanalyze APIリクエストは、デフォルトのuppercase
フィルターを使用してthe Quick FoX JUMPs
を大文字に変更します:
Python
resp = client.indices.analyze(
tokenizer="standard",
filter=[
"uppercase"
],
text="the Quick FoX JUMPs",
)
print(resp)
Ruby
response = client.indices.analyze(
body: {
tokenizer: 'standard',
filter: [
'uppercase'
],
text: 'the Quick FoX JUMPs'
}
)
puts response
Js
const response = await client.indices.analyze({
tokenizer: "standard",
filter: ["uppercase"],
text: "the Quick FoX JUMPs",
});
console.log(response);
コンソール
GET _analyze
{
"tokenizer" : "standard",
"filter" : ["uppercase"],
"text" : "the Quick FoX JUMPs"
}
フィルターは以下のトークンを生成します:
テキスト
[ THE, QUICK, FOX, JUMPS ]
アナライザーに追加
以下のcreate index APIリクエストは、uppercase
フィルターを使用して新しいカスタムアナライザーを構成します。
Python
resp = client.indices.create(
index="uppercase_example",
settings={
"analysis": {
"analyzer": {
"whitespace_uppercase": {
"tokenizer": "whitespace",
"filter": [
"uppercase"
]
}
}
}
},
)
print(resp)
Ruby
response = client.indices.create(
index: 'uppercase_example',
body: {
settings: {
analysis: {
analyzer: {
whitespace_uppercase: {
tokenizer: 'whitespace',
filter: [
'uppercase'
]
}
}
}
}
}
)
puts response
Js
const response = await client.indices.create({
index: "uppercase_example",
settings: {
analysis: {
analyzer: {
whitespace_uppercase: {
tokenizer: "whitespace",
filter: ["uppercase"],
},
},
},
},
});
console.log(response);
コンソール
PUT uppercase_example
{
"settings": {
"analysis": {
"analyzer": {
"whitespace_uppercase": {
"tokenizer": "whitespace",
"filter": [ "uppercase" ]
}
}
}
}
}