リリース: 2026/09/06 14:46 読む: 0
原作者:vlogommentary
オリジナルソース:https://www.youtube.com/embed/LxCCWuwkcpw
Elasticsearch トークナイザーとアナライザーを構成して、キャメルケースまたはパスカルケースの単語を個別のトークンに分割して検索一致を向上させる方法を学びます。 --- このビデオは、ユーザー「dominikweber」 ( https://stackoverflow.com/u/2849119/ ) が尋ねた質問 https://stackoverflow.com/q/79457368/ とユーザー「Paulo」 ( https://stackoverflow.com/u/4534923/ ) が提供した回答 https://stackoverflow.com/a/79457666/ に基づいています。 ) 「Stack Overflow」Web サイトで。これらの素晴らしいユーザーと Stackexchange コミュニティの貢献に感謝します。元のコンテンツと、代替ソリューション、トピックに関する最新の更新/開発、コメント、改訂履歴などの詳細については、これらのリンクにアクセスしてください。たとえば、質問の元のタイトルは次のとおりでした。大文字を 2 つの単語に分割するトークナイザー また、コンテンツ (音楽を除く) は CC BY-SA でライセンスされています https://meta.stackexchange.com/help/licensing 元の質問投稿は、「CC BY-SA 4.0」でライセンスされています ( https://creativecommons.org/licenses/by-sa/4.0/ ) ライセンスであり、元のアンサー投稿は「CC BY-SA 4.0」 ( https://creativecommons.org/licenses/by-sa/4.0/ ) ライセンスに基づいてライセンスされています。何か気になる点がございましたら、お気軽にこのビデオの下にコメントを残してください。 --- はじめに Elasticsearch で LoremIpsum などのテキストのインデックスを作成して検索する場合、このキャメルケースまたはパスカルケースの単語を複数のトークン (lorem、ipsum) に分割し、さらに広範囲の一致のために元の loremipsum トークンを保持することもできます。これにより、単語の一部または組み合わせた単語全体が一致するため、検索の柔軟性が向上します。問題 デフォルトでは、Elasticsearch は単一トークンの大文字と小文字の変更に基づいて分割しません。したがって、テキストが 1 つのトークン loremipsum としてのみインデックス付けされている場合、Lorem または Ipsum を検索しても、予期した一致が得られない可能性があります。ソリューションの概要 これは、次のカスタム アナライザーを使用して解決できます。 キーワード トークナイザー (最初に入力全体を単一のトークンとして扱うため) 大文字と小文字の変更で分割するように設定された word_delimiter トークン フィルター 大文字と小文字の正規化のための小文字フィルター 重要なのは、word_delimiter フィルターを次のように使用することです。アナライザーとフィルターの構成例: [[このテキストまたはコード スニペットを明らかにするにはビデオを参照してください]] アナライザーのテスト: _analyze API を使用してこのアナライザーをテストできます: [[このテキストまたはコード スニペットを明らかにするにはビデオを参照してください]] 出力トークンは次のようになります: loremipsum (元の完全なトークン) lorem (大文字と小文字の変更で分割) ipsum (大文字と小文字の変更で分割) フィールドのマッピング このアナライザーを使用するには、それを指定します。テキスト フィールドのインデックス マッピング: [[このテキストまたはコード スニペットを明らかにするにはビデオを参照]] 検索でのアナライザーの使用 デフォルトでは、クエリはマッピングで定義されたアナライザーを使用します。ただし、検索中にアナライザーを明示的に指定できます: [[このテキストまたはコード スニペットを表示するにはビデオを参照]] 検索クエリで特定のトークン化動作が必要な場合は、このアプローチを使用します。概要 word_delimiter フィルターを備えたキーワード トークナイザーを使用して、キャメルケースを分割します。必要なトークンにpreserve_original: trueおよびsplit_on_case_change: trueを設定します。マッピングでこのカスタム アナライザーを使用してテキスト フィールドを定義します。必要に応じて、クエリの一貫性を保つために検索時にアナライザーを指定します。この設定により、Elasticsearch でのキャメルケースまたはパスカルケースの単語のインデックス作成と検索に関する一般的な問題が解決され、柔軟で正確な検索結果が得られます。
Ashes Club
2026-09-21 00:57
Karauli Sarkar - Ishvariya Chikitsa Vigyan Kendra
2026-09-21 00:57
Gold rate Telugu
2026-09-21 00:57
CoinNexa VAULT.
2026-09-21 00:57
Crypto Talk Now
2026-09-21 00:38
Tieu Ai VN
2026-09-21 00:38
Trade with Renato Ulianov
2026-09-21 00:38
Professor Py: AI Engineering
2026-09-21 00:38
Tech with Muthu
2026-09-21 00:38
通貨を選択してください
US Dollar
USD
Chinese Yuan
CNY
Japanese Yen
JPY
South Korean Won
KRW
New Taiwan Dollar
TWD
Canadian Dollar
CAD
Euro
EUR
Pound Sterling
GBP
Danish Krone
DKK
Hong Kong Dollar
HKD
Australian Dollar
AUD
Brazilian Real
BRL
Swiss Franc
CHF
Chilean Peso
CLP
Czech Koruna KČ
CZK
Singapore Dollar
SGD
Indian Rupee
INR
Saudi Riyal
SAR
Vietnamese Dong
VND
Thai Baht
THB
通貨を選択してください
US Dollar
USD-$
Chinese Yuan
CNY-¥
Japanese Yen
JPY-¥
South Korean Won
KRW -₩
New Taiwan Dollar
TWD-NT$
Canadian Dollar
CAD-$
Euro
EUR - €
Pound Sterling
GBP-£
Danish Krone
DKK-KR
Hong Kong Dollar
HKD- $
Australian Dollar
AUD-$
Brazilian Real
BRL -R$
Swiss Franc
CHF -FR
Chilean Peso
CLP-$
Czech Koruna KČ
CZK -KČ
Singapore Dollar
SGD-S$
Indian Rupee
INR -₹
Saudi Riyal
SAR -SAR
Vietnamese Dong
VND-₫
Thai Baht
THB -฿