小文字トークンフィルター
トークンテキストを小文字に変更します。たとえば、lowercase
フィルターを使用してTHE Lazy DoG
をthe lazy dog
に変更できます。
デフォルトのフィルターに加えて、lowercase
トークンフィルターは、ギリシャ語、アイルランド語、トルコ語のLuceneの言語特有の小文字フィルターにアクセスを提供します。
例
次の分析APIリクエストは、デフォルトのlowercase
フィルターを使用してTHE Quick FoX JUMPs
を小文字に変更します:
Python
resp = client.indices.analyze(
tokenizer="standard",
filter=[
"lowercase"
],
text="THE Quick FoX JUMPs",
)
print(resp)
Ruby
response = client.indices.analyze(
body: {
tokenizer: 'standard',
filter: [
'lowercase'
],
text: 'THE Quick FoX JUMPs'
}
)
puts response
Js
const response = await client.indices.analyze({
tokenizer: "standard",
filter: ["lowercase"],
text: "THE Quick FoX JUMPs",
});
console.log(response);
コンソール
GET _analyze
{
"tokenizer" : "standard",
"filter" : ["lowercase"],
"text" : "THE Quick FoX JUMPs"
}
フィルターは次のトークンを生成します:
テキスト
[ the, quick, fox, jumps ]
アナライザーに追加
次のインデックス作成APIリクエストは、lowercase
フィルターを使用して新しいカスタムアナライザーを構成します。
Python
resp = client.indices.create(
index="lowercase_example",
settings={
"analysis": {
"analyzer": {
"whitespace_lowercase": {
"tokenizer": "whitespace",
"filter": [
"lowercase"
]
}
}
}
},
)
print(resp)
Ruby
response = client.indices.create(
index: 'lowercase_example',
body: {
settings: {
analysis: {
analyzer: {
whitespace_lowercase: {
tokenizer: 'whitespace',
filter: [
'lowercase'
]
}
}
}
}
}
)
puts response
Js
const response = await client.indices.create({
index: "lowercase_example",
settings: {
analysis: {
analyzer: {
whitespace_lowercase: {
tokenizer: "whitespace",
filter: ["lowercase"],
},
},
},
},
});
console.log(response);
コンソール
PUT lowercase_example
{
"settings": {
"analysis": {
"analyzer": {
"whitespace_lowercase": {
"tokenizer": "whitespace",
"filter": [ "lowercase" ]
}
}
}
}
}
設定可能なパラメーター
language
- (オプション、文字列) 使用する言語特有の小文字トークンフィルター。 有効な値には次が含まれます:
greek
- LuceneのGreekLowerCaseFilterを使用
irish
- LuceneのIrishLowerCaseFilterを使用
turkish
- LuceneのTurkishLowerCaseFilterを使用
指定されていない場合、デフォルトはLuceneのLowerCaseFilterです。
カスタマイズ
lowercase
フィルターをカスタマイズするには、それを複製して新しいカスタムトークンフィルターの基礎を作成します。 設定可能なパラメーターを使用してフィルターを変更できます。
たとえば、次のリクエストはギリシャ語用のカスタムlowercase
フィルターを作成します:
Python
resp = client.indices.create(
index="custom_lowercase_example",
settings={
"analysis": {
"analyzer": {
"greek_lowercase_example": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"greek_lowercase"
]
}
},
"filter": {
"greek_lowercase": {
"type": "lowercase",
"language": "greek"
}
}
}
},
)
print(resp)
Ruby
response = client.indices.create(
index: 'custom_lowercase_example',
body: {
settings: {
analysis: {
analyzer: {
greek_lowercase_example: {
type: 'custom',
tokenizer: 'standard',
filter: [
'greek_lowercase'
]
}
},
filter: {
greek_lowercase: {
type: 'lowercase',
language: 'greek'
}
}
}
}
}
)
puts response
Js
const response = await client.indices.create({
index: "custom_lowercase_example",
settings: {
analysis: {
analyzer: {
greek_lowercase_example: {
type: "custom",
tokenizer: "standard",
filter: ["greek_lowercase"],
},
},
filter: {
greek_lowercase: {
type: "lowercase",
language: "greek",
},
},
},
},
});
console.log(response);
コンソール
PUT custom_lowercase_example
{
"settings": {
"analysis": {
"analyzer": {
"greek_lowercase_example": {
"type": "custom",
"tokenizer": "standard",
"filter": ["greek_lowercase"]
}
},
"filter": {
"greek_lowercase": {
"type": "lowercase",
"language": "greek"
}
}
}
}
}