ホームページ バックエンド開発 PHPチュートリアル ElasticSearchを使用した効率的な中国の検索

ElasticSearchを使用した効率的な中国の検索

Feb 19, 2025 am 08:28 AM

elasticsearch中国語検索:アナライザーとベストプラクティス

特に英語以外の言語を扱う場合、

分析と辞書化は、Elasticsearchのコンテンツインデックスにおいて重要です。中国人にとって、このプロセスは、漢字の特性と単語と文の間のスペースの欠如のためにさらに複雑です。

この記事では、デフォルトの中国のアナライザー、貧困プラグイン、CJKアナライザー、SmartCNアナライザー、ICUプラグインなど、ElasticSearchの中国コンテンツを分析するためのいくつかのソリューションについて説明し、その利点と短所と適用シナリオを分析します。

中国の検索の課題

漢字は、単語または形態素(言語で最小の意味のある単位)を表す表意文字です。結合すると、その意味は変化し、完全に新しい単語を表します。もう1つの困難は、単語と文の間にスペースがないことです。これにより、コンピューターが単語の始まりと終了場所を知ることが困難になります。

マンダリン(中国語公式言語と世界で最も広く使用されている中国語)のみを考慮しても、実際に中国語を書いていても、3〜4,000人を知る必要があります。漢字。たとえば、「火山」(火山)は、実際には次の2つの漢字の組み合わせです。

火:火
  • 山:山
  • 私たちの単語分詞は、これらの2つの漢字を分離するのを避けるのに十分賢くなければなりません。なぜなら、その意味は分離されているときとは異なるからです。

もう1つの難しさは、使用されるスペルバリアントです:

単純化された中国人:書道
  • 伝統的な中国人、より複雑で豊かな:帳簿
  • ピンイン、マンダリンのロマン化された形:shūfǎ
  • ElasticSearchの中国人アナライザー
現在、Elasticsearchは次の中国の分析装置を提供します: Lucene 4の非推奨クラスに基づいて、デフォルト

アナライザー

    プラグインは、もはや維持されていませんが、非常に優れた辞書に基づいています
  • Chineseアナライザー、
  • paodingアナライザー、正式にサポートされているプラ​​グイン
  • ICUプラグインとその単語セグメンテーションデバイス。
  • cjk
  • これらのアナライザーは大きく異なり、そのパフォーマンスを単純なテスト単語「携帯電話」と比較します。 「携帯電話」とは、「携帯電話」を意味します。これは、「ハンド」と「モバイル」を表す2つの漢字で構成されています。 「ji」という言葉は、他の多くの単語も構成します:
  • smartcn
  • フライト:航空券
  • ロボット:ロボット

機関銃:機関銃

    機会:機会
  • 「携帯電話」を検索した場合、Ramboが機関銃を所有していることに関するドキュメントが必要ないため、 強力な
  • APIを使用してこれらのソリューションをテストします。
  • デフォルトChineseアナライザー:すべての漢字を単語要素に分割するだけです。したがって、携帯電話と携帯電話の2つの語彙要素が得られます。 ElasticSearchのstandardアナライザーは、まったく同じ出力を生成します。したがって、Chineseは非推奨であり、まもなくstandardに置き換えられ、避ける必要があります。

  • paodingプラグイン:paodingほとんど業界標準であり、エレガントなソリューションと見なされます。残念ながら、ElasticSearchのプラグインは維持されておらず、いくつかの変更後にバージョン1.0.1でのみ実行できます。 (インストール手順は省略されており、元のテキストが提供されます)インストール後、新しいpaodingワードセグメントターと2つのコレクターの2つのコレクターを取得します。デフォルトでは、パブリックアナライザーがないため、新しいアナライザーを宣言する必要があります。 (構成手順は省略され、元のテキストが提供されます)両方の構成は、明確で一意の語彙要素で良い結果を提供します。また、より複雑な文を扱うときも非常にうまく振る舞います。 max_word_len most_word

  • アナライザー:テキストのみをバイナリに変換する非常に簡単なアナライザー。 「携帯電話」はcjkのみですが、これは良いことですが、「ランタンフェスティバル」(ランタンフェスティバル)などの長い単語を使用すると、ランタンフェスティバルとXiaoフェスティバルの2つの単語が生成されます。それぞれ「Xiao Festival」。 手机

  • プラグイン:非常に簡単にインストールできます。 (インストール手順は省略されており、元のテキストが提供されています)Luceneのsmartcnを使用して、新しいAnalyzerとsmartcn wordセグメントターを公開します。確率スイートを使用して、非表示のマルコフモデルと大量のトレーニングテキストを使用して、単語の最適なセグメンテーションを見つけます。したがって、かなり優れたトレーニング辞書が組み込まれています。私たちの例は正確に分解されています。 smartcn_tokenizer SmartChineseAnalyzer

  • ICUプラグイン:

    別の公式プラグイン。 (インストール手順は省略されており、元のテキストが提供されます)英語以外の言語を扱う場合は、このプラグインを使用することをお勧めします。 icu_tokenizericu_normalizerなどの多くの強力な分析ツールと、icu_folding単語セグメントターを開示します。単語頻度に関する情報を含む中国語と日本の辞書を使用して、漢字グループを推測します。 「携帯電話」では、すべてが正常であり、期待どおりに機能しますが、「ランタンフェスティバル」では、ランタンフェスティバルとフェスティバルの2つの単語が制作されます。これは、「ランタンフェスティバル」と「フェスティバル」が「ランタンフェスティバル」よりも重要だからです。 "。 一般。 icu_collation

結果の比較(省略されたフォーム、元のテキストが提供) 私の観点からは、

が最良の結果を得ました。 paoding分詞という言葉は非常に悪いです、smartcnは「ランタンフェスティバル」で少しがっかりしていますが、伝統的な中国人に対処するのは非常に得意です。 chinese icu_tokenizer

伝統的な中国の支持

ドキュメントまたはユーザー検索リクエストから従来の中国語を処理する必要がある場合があります。これらの従来の入力を現代の中国語に変換するための正規化ステップが必要です。smartcnpaodingなどのプラグインが正しく処理しないためです。

アプリケーションを介して処理するか、elasticsearch-analysis-stconvertプラグインを使用してElasticSearchで直接処理してみてください。従来のキャラクターと単純化されたキャラクターを両方向に変換できます。 (インストール手順は省略されており、元のテキストが提供されています)

最後のソリューションは、cjk:正しく分詞を入力できない場合、必要なドキュメントをキャプチャしてからicu_tokenizer(非常に良い)を使用して関連性を向上させる可能性が非常に高いです。

さらなる改善

ElasticSearch分析に最適な普遍的なソリューションはありません。また、中国語も例外ではありません。取得した情報に基づいて、独自のアナライザーを組み合わせて構築する必要があります。たとえば、マルチフィールドとマルチマッチクエリを使用して、検索フィールドにcjkおよびsmartcn分詞を使用します。

(FAQパートが省略され、元のテキストが提供)

以上がElasticSearchを使用した効率的な中国の検索の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

See all articles