2

デフォルトでは、ES は大文字と小文字を区別しません。ES で特定のフィールドのアナライザーを定義する方法の例 ( elasticsearch での大文字と小文字を区別しない検索など) があります。

さまざまなフィールドがロードされている多数のデータ型があり、名前でフィールドにアナライザーを設定することはまったく現実的ではありません。

以前は Solr を使用していましたが、すべてのデータに dynamicFields を使用し、schema.xml を編集して「テキスト」フィールド タイプを変更し、アナライザーから LowerCaseFilterFactory を削除することで、グローバルに大文字と小文字を区別する検索を実行しました。

どうすれば ES で同様のことを行うことができますか?

4

1 に答える 1

0

Analysisインデックスモジュールのelasticsearchドキュメントをご覧ください。次のようなデフォルトのアナライザーセクションがあります。

デフォルトの論理名を使用すると、APIのインデックス作成と検索の両方に使用されるアナライザーを構成できます。default_index論理名を使用して、インデックス作成時にのみ使用されるデフォルトアナライザーを構成できます。また、default_searchを使用して、検索時にのみ使用されるデフォルトアナライザーを構成できます。

それがあなたが探しているものだと思います。おそらく、elasticsearchのデフォルトのアナライザーがStandardAnalyzerであることを知っておくとよいでしょう。

于 2012-09-12T15:47:03.780 に答える