問題タブ [nest]

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 に答える
1167 参照

.net - Elasticsearch with NEST - 検索時に句読点を無視する方法

Elasticsearch を使用して、ユーザーから提供された文字列でインデックスをクエリしようとしています。私のドキュメントには句読点が含まれており、取得時に正しく表示されるように保持したいのですが、句読点がクエリで提供されたかどうかに関係なく、検索結果に影響を与えたくありません。例えば:

文書例:

これに対して標準アナライザーを使用してクエリを実行すると"joe's amazing document"問題なく動作しますが、ユーザーが"joes amazing document"これを入力すると完全一致ではなく、スコアの低い他の一致の中でドキュメントが失われます。

これまでのところ、NESTでこれを行う方法を見つけるために無駄に検索してきました-このようなchar_filterを使用する必要があると思われますが、NESTプロジェクトソースからのテストを見ると、独自の追加方法がわかりません独自に指定したマッピングを使用したカスタム char_filter では、Elasticsearch が既に知っているフィルターを指定することしかできないようです (拡張CharFilterBaseすると、使用する既存のフィルターの名前を指定することしかできません)。

私がここでやろうとしていることで、誰かが私を正しい方向に向けることができますか? 私はこれについてすべて間違っている可能性があることを認識しているので、どんな助けも素晴らしいでしょう. それとも、私が見つけられなかった解決策がありますか? ありがとう!

更新:正しい方向を示してくれた femtoRgon の回答のおかげで、NESTでSnowball アナライザーを使用する方法については、以下の私の回答を参照してください。

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

sorting - Elasticsearch NEST - SortAsceding はドキュメントをソートしません

フィールド名に基づいて結果セットをソートしようとしています。ただし、Sort は文字列型では機能しません。

試したコード:-

私の問題は次のとおりです。以下のように、SortAscending APIを使用するとソートが行われません

注: フィールド名を Number(f => f.Number) に設定すると、ドキュメントはソート済みとしてリストされます

助けてください

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

elasticsearch - エラスティックサーチ ネスト

ElasticSearch の Nest クライアントからのクエリ結果で SortGeoDistance を使用しようとしています。ドキュメントに何も見つからないので、誰かがそれを使用する方法の例を教えてください。

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

c# - 可変数の関数で ES FunctionScore に NEST を活用する

NEST の 0.12 リリースを利用して、関数スコア API を介してサポートを組み込み、以下に定義されているように、C# アプリケーションで可変数の関数パラメーターを使用する必要があります。API の現在の形状に基づいて、条件付きで関数を追加したり、関数項目の生の配列をクエリ記述子オブジェクトに渡したりする方法を見つけることができません。0.12 でこれを達成するための別のアプローチはありますか?

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

lucene - C# NEST での Lucene/Elastic Search ハイライターの選択

このプロパティが C# NEST で公開されている場所や公開されているかどうかはわかりません。たとえば、エラスティック検索では、プレーンな蛍光ペンを次のように指定できます。

contesntsStem のプロパティとして type:plain が指定されていることに注意してください。NEST には、次のコードがあります。

このコードはデフォルトで FV 蛍光ペンを使用していますが、単純な蛍光ペンに変更する方法が見つかりませんでした。この場合、C# の NEST フォームで単純な蛍光ペンを使用する方法はありますか?

ありがとうございました。

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

c# - Nest と Elastic Search - マッピング

複数のアナライザーをエラスティック タイプのフィールドにマップしようとしています。ElasticAttribute を使用してアナライザーをマップする場合:

作成されたリクエストを見て、次のように取得します。

複数のアナライザーを同じフィールドにマップするために、Fluent マッピングを使用してマルチフィールドを追加します。

生成されたリクエストは次のようになります。

「analyzer」/「index_analyzer」プロパティに特に興味があります。流暢なマッピングでは、IndexAnalyzer または SearchAnalyzer しか設定できません。IndexAnalyzer と SearchAnalyzer の違いはわかりましたが、ElasticAttribute を使用する場合の "analyzer" プロパティとは何ですか? それは単にインデックスと検索が同じに設定されているということですか?

0 投票する
0 に答える
779 参照

c# - HasChild 演算子と Query 演算子の両方を使用してネスト クエリを作成する

C# の ElasticSearch で NEST を使用しています。QueryDescriptor 型を受け取り、BaseQuery を返す既存のコードがあります。

このメソッドは次のように呼び出されます。

メソッド「ToElasticSearch」は次のようになります。

今、私の ToElasticSearch メソッドの中にいます。次のような BaseQuery を返したいと思います。

乱雑に見える場合は、それが原因です。明らかに OR 部分は正しくありません。私は今のところ物事を進めるためにそれをしました(またはそれはうまくいきますか?ブースト部分がまったく正しく機能するとは思いませんが、自由にそれをまっすぐに設定してください)。

QueryDescriptor が指定されているようですが、メインの検索オブジェクトに対するクエリと、同じクエリ内の子の両方を実行することはできません。どちらか、または両方のクエリが BaseQuery を返すように思われますが、必要に応じて「追加」する方法がわかりません。

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

c# - すべてのフィールドをファジー検索し、完全一致を強化し、その他のさまざまな一致条件を強化する ElasticSearch

次のクエリが与えられた場合、各 should 句を別の句よりも高くランク付けするにはどうすればよいでしょうか。

リストされている順序でそれらを後押ししようとしています。

should配列内の各句をブーストするにはどうすればよいですか? これは私が頭を包むことができないものです。

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

elasticsearch - Elastic Search NEST - 検索で複数レベルのフィルターを使用する方法

Elastic Search で NEST API を使用して結果セットを取得するために、複数レベルのフィルターを使用したいと考えています。別のフィルターの結果を照会することは可能ですか? はいの場合、複数のレベルでそれを行うことができますか?

私の要件は、ユーザーがさまざまなフィールドのオプションを選択/選択解除できるようにすることです。

例: 私のインデックス 'people' には合計 1000 のドキュメントがあります。1) 都市 2) 好きな食べ物 3) 好きな色 の 3 つの ListBox がある場合があります。ユーザーが都市を選択すると、600 のドキュメントが除外されます。これらの 600 のドキュメントから、Favorite food をフィルター処理したいと考えています。これにより、約 300 のドキュメントが作成される可能性があります。さらに、resp でフィルタリングしたいと思います。お気に入りのムービーに移動して、以前に派生した 300 のドキュメントから 50 のドキュメントを取得します。

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

c# - NEST を使用したエラスティック検索 - 非同期操作

Nest Async 関数の使用例を探す -

おそらく 100000 という多数のレコードのインデックスを作成したいので、IndexManyAsync を使用しますが、Async について十分に知りません。IndexManyAsync はタスクを返します。だから私はこれを実装する方法の例を探しています。

これを行う非同期の方法は、50 レコードを取得してインデックスを作成し、次の 50 レコードを取得してインデックスを作成するなどでした。

Async では、すべてのレコードで一度 IndexManyAsync を呼び出す必要がありますか? またはまだ一度に50を行いますか?メソッドを呼び出し、タスクを取得してから、Task.Start を呼び出しますか? タスクのコレクションを作成して、一度にすべて実行しますか? 等...

いくつかのガイダンスを探しています...