問題タブ [elasticsearch-mapping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2764 参照

node.js - nodejsでmongoosasticにMappingを書く方法

実際、いくつかのフィールドからインデックス作成を削除したいのですが、私のコードが以下に示されているマッピングを作成する方法を教えてください。これで何が問題なのか、または正しい方法を教えてください。それ。

});

前もって感謝します。

0 投票する
3 に答える
12233 参照

elasticsearch - エラスティックサーチでフィールドがアルファベット順にソートされない

名前フィールドが含まれるドキュメントがいくつかあります。not_analyzed検索と並べ替えの目的で、分析されたバージョンの名前フィールドを使用しています。並べ替えは 1 つのレベルで行われます。つまり、最初は名前がアルファベット順に並べ替えられます。しかし、アルファベットのリスト内では、名前はアルファベット順ではなく辞書順にソートされています。使用したマッピングは次のとおりです。

誰でも同じ解決策を提供できますか?

0 投票する
1 に答える
762 参照

logstash - Kibana の文字列を not_analyzed にする

not_analyzed文字列をKibana での検索と視覚化の両方に使用したいと考えています。

カスタムの Elasticsearch-template.json を作成して、文字列のデフォルトを に設定not_analyzedし、logstash-log4j.conf ファイルでこれを指定しました。ここにelasticsearch-template.jsonがあります:

このファイルは、次を含むlogstash-log4j.comと同じディレクトリにあります。

これらの変更を行った後、curl を使用して Elasticsearch インデックスを削除して置き換えました。

新しいログをいくつか追加し、Kibana で視覚化しましたが、まだ文字列を分析されたフィールドとして取得しています。私は何が欠けていますか?

0 投票する
2 に答える
117 参照

elasticsearch - Elasticsearch でハイフン付きテキストを検索する

「支払い参照番号」をelasticsearchに保存しています。

そのレイアウトは、たとえば次のとおりです。2-4-3-635844569819109531または2-4-2-635844533758635433など

支払い参照番号でドキュメントを検索できるようにしたい

  1. 「全体」の参照番号を使用した検索。2-4-2-635844533758635433
  2. 「開始」からの参照番号の「部分」。例2-4-2-63(..なので、例の2番目のもののみを返します)

注:「途中」や「最後」などは検索したくありません。最初からのみ。

とにかく、ハイフンは私を混乱させています。

質問

1)次のようにマッピングでそれらを削除する必要があるかどうかわかりません

か否か。そのような方法でマッピングを使用したことがないため、これが必要かどうかはわかりません。

2)参照番号の一部を存在から検索できるようにしたいので、「ngrams」フィルターが必要だと思います。のようなものだと思います

そしてフィルター

全体をどうまとめたらいいのかわかりませんが、

私が試したことはすべて、2番目の検索ケースで常に「壊れる」ようです。

私が行う'localhost:9200/orders/_analyze?field=paymentReference&pretty=1' -d "2-4-2-635844533758635433"と、それは常にハイフンを独自のトークンとして分割し、たとえば2-「たくさん」のすべてのドキュメントを返します! 探しているときに欲しいものではありません2-4-2-6

私が達成しようとしている 2 種類の検索にこのフィールドをマップする方法を教えてもらえますか?

更新 - 回答

事実上、ヴァルが以下に言ったこと。アナライザーをより具体的にするためにマッピングを少し変更しました。また、部分的なクエリを実行するだけなので、メインの文字列にインデックスを付ける必要はありません。

マッピング

アナライザ

フィルター