問題タブ [elasticsearch]

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 投票する
2 に答える
7566 参照

elasticsearch - ElasticSearchマッピングが機能しない

個々のフィールドに異なるアナライザーを使用してElasticSearchインデックスを設定しようとしています。ただし、フィールド固有のアナライザーを設定する方法が見つからないようです。(テスト)インデックスを作成する方法は次のとおりです。

ドキュメントを正しく読んだ場合、「tweet」タイプのインデックス「twitter」が作成され、「message」フィールドのコンテンツがスノーボールステミングアナライザーで分析されるはずです。これをテストするために、次のクエリを試しました。

私が間違っていなければ、戦いは戦いの根幹であるため、これはヒットを返すはずです。問題は、そうではないということです。ヒット数がゼロになっています。ElasticSearchはマッピングを完全に無視しているように見えます(ElasticSearchはこれらのクエリをすべて受け入れますが、それぞれに対して「ok」が返されます)。

デフォルトのアナライザーをスノーボールアナライザーに置き換えてみましたが、うまくいきました。つまり、私は完全にフィールド固有のアナライザーを持っている必要があるので、これは私を助けません。また、さまざまなアナライザーや「インデックス」を「いいえ」に設定するなどのことも試しましたが、役に立ちませんでした。

私は何が間違っているのですか?

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

elasticsearch - JavaAPIを使用してカスタムElasticSearchアナライザーを定義する

Java APIを使用してインデックスを作成し、カスタムアナライザーを指定する方法はありますか?インデックス作成時にマッピングを追加することをサポートしていますが、HTTP PUTを介してJSONを送信せずに、このようなことを行う方法を見つけることができません。

JSONBuilderを使用してこのようなクエリを作成することはできますが、APIで実行する場所が見つからず、使用できるものがなく、私が見る限り、CreateIndexRequestどちらも使用できません。client.admin().indices()これを行う正しい方法は何ですか?

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

elasticsearch - Java API を使用して Percolator に ElasticSearch クエリを登録する

ElasticSearch の Percolator 機能を使用しようとしています。Java API を使用してドキュメントをパーコレートする場合と同様に、ドキュメントの curl の例を使用してこれを行うのは簡単です。Java API を使用してパーコレーターにクエリを登録する方法がわかりません - これはどのように行われますか?

ドキュメントの例を使用して、Java でこれを行うにはどうすればよいですか?

0 投票する
4 に答える
10996 参照

cassandra - ElasticSearch + Cassandra の実際的な制限

ElasticSearch を使用して Cassandra データベースのインデックスを作成する予定です。ElasticSearch の実際的な限界を見た人がいるかどうか疑問に思っています。ペタバイトの範囲で物事は遅くなりますか? また、ElasticSearch を使用して Cassandra のインデックスを作成する際に問題が発生した人はいますか?

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

lucene - ソランドラとエラスティックサーチ

ペタバイト範囲のデータを保存する Cassandra データベースを使用しています。ElasticSearch か Solandra のどちらかを使用することを考えていますが、どちらを使用するかを決めるのは楽しい時間です。私たちのデータベースが大きくなりすぎるのではないかと思っています。ElasticSearch がスケーラブルであることは知っていますが、特に Cassandra データベースではどの程度まで拡張可能ですか。

一方、Solandra は Cassandra 向けに作成されており、拡張性に優れています。

どちらもスケーラブルですが、Cassandra を使用するとどの程度スケーラブルですか?

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

arrays - Elasticsearchで配列要素で検索する方法は?

私はelasticsearchで索引付けされたドキュメントを持っています:

私はクエリでそれを見つけようとします:

結果を受け取りません。

同時に、コンテンツのクエリは正常に機能します。

配列の検索には特別な構文が必要ですか? Elasticsearchで配列に関するいくつかのトピック [1、2] を見つけましが、直接的な答えはありません。

UPD Get Mapping 呼び出しは次の結果を返します。

UPD2問題の原因が見つかりました。誤って質問に誤りを入れてしまいました。私が実際にDBに持っていたユーザー名は、「some_one」の形式でした(アンダースコアは重要です)。したがって、標準のインデックスはそれを 2 つの単語に分割し、失敗の原因の "some_one" をクエリします。

0 投票する
11 に答える
138691 参照

elasticsearch - ElasticSearchで単語の一部を検索する方法

最近ElasticSearchを使い始めましたが、単語の一部を検索できないようです。

例:ElasticSearchでインデックス付けされたcouchdbからの3つのドキュメントがあります:

だから今、私は「Doe」を含むすべてのドキュメントを検索したいと思います

それはヒットを返しません。しかし、私が検索すると

1つのドキュメント(John Doeman)を返します。

インデックスのプロパティとして、さまざまなアナライザーとさまざまなフィルターを設定してみました。また、本格的なクエリを使用してみました(例:

)しかし、何も機能していないようです。

「Doe」を検索するときに、ElasticSearchでJohnDoemanとJaneDoewomanの両方を検索するにはどうすればよいですか?

アップデート

Igorが提案したように、次のようにnGramトークナイザーとフィルターを使用しようとしました。

私が今抱えている問題は、すべてのクエリがすべてのドキュメントを返すことです。ポインタはありますか?nGramの使用に関するElasticSearchのドキュメントは素晴らしいものではありません...

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

lucene - エラスティックサーチの.NETバージョン?

実装されたelasticsearchの.NETポートを知っている人はいますか? .NET クライアント (自分で簡単に作成できます) は見つかりましたが、サーバーは見つかりませんでした。

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

ruby-on-rails - 多くのタイプでのElasticSearch検索

RailsとTiregem(ElasticSearch用)を使用しており、複数のモデルを検索する必要があります。何かのようなもの:

モデルを1つずつ検索してこれらの結果を処理できることはわかっていますが、ElasticSearch(Lucene)がドキュメント指向であることを考えると、これは不要です。

何かご意見は?

ありがとう、

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

elasticsearch - マッピングとキーワードを使用して、Elastic Search にクエリを実行するにはどうすればよいですか?

次のような非常に単純なマッピングがあります (例を少し簡素化しました)。

現在、実際の英単語に基づくランダムな値を使用して、多くの場所にインデックスを付けています。

名前または説明フィールドのいずれかで指定されたキーワードのいずれかに一致する場所を検索できるようにしたいと思います(名前はより重要なので、私が与えたブーストです)。いくつかの異なるクエリを試しましたが、結果が返されません。

説明にsavagedという言葉が含まれている場所があることを考えると、いくつかの結果が得られるはずです ( savagesavagedの語幹です)。上記のクエリを使用すると、0 の結果が得られます。curl を使用して ES をクエリしています。

代わりにクエリ文字列を使用する場合:

実際には 1 つの結果が得られます (もちろん、説明フィールドのみを検索することになります)。

基本的に、複数のキーワードを使用して OR のような検索を行い、名前と説明フィールドの両方の値と比較するクエリを探しています。