問題タブ [elasticsearch-net]
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.
contains - C# .Contains() の ElasticSearch NEST 代替
個人的なプロジェクトのためにRedisから ElasticSearch に移行したので、マスターの助けが必要です。基本的な要件は次のとおりです。
- インデックスには、Artist、Title、Year などのフィールドを持つ Album タイプの POCO が含まれます
- ユーザーが「2」などの検索語を入力すると、上記のフィールドに検索語が含まれるアルバムを取得する必要があります
- 「2 States」などのアルバム タイトル、「2 Pac」などのアーティスト、「2014,1992..etc」の年と一致する必要があります。
コードは期待どおりに動作していますが、パフォーマンスに影響を与えると思われるワイルド文字を使用しています。コードは以下のとおりです。
クエリを改善するための提案はありますか?
elasticsearch - 属性ベースのインデックス ヒントによって結果が変わる
最初に機能させてから変更されていない次のクエリがあります。
私IndexManager.GetClient()
は、ElasticSearch への接続を設定し、インデックスが適切に構築されていることを確認するだけです。コードの残りの部分は、一般公開可能な最新の記事シリーズを取得します。
内部では、IndexManager
明示的なインデックス マッピングを設定しました。これを行うと、毎回クエリから結果が得られました。コードは次のようになります。
これは良いことですが、格納したすべての型に対してこれを行うと、実際にはうまくスケーリングできません。そこで、属性を使用してそのようにマッピングすることを意識的に決定しました。
これをやるとすぐに結果が得られなくなります。Kibana でインデックスを確認すると、'releaseableTo' フィールドが分析されておらず、インデックスが作成されていることがわかります。しかし、私が書いたクエリは機能しなくなりました。フィルター句を削除すると結果が得られますが、実際に機能させる必要があります。
私は何が欠けていますか?クエリを再び機能させるにはどうすればよいですか?
.net - Nest (Geo)Location の経度は常に 0 ですか?
私は、ElasticSearch を利用する .Net ベースのプロジェクトで NEST を使用することについて深く掘り下げてきましたが、GeoDistance クエリが結果を返さなかったことは、私を悩ませ続けていることです。
単純な「*」クエリの応答をデバッグし、検索結果の .Documents を確認すると、すべてのドキュメント インスタンスの経度値が 0.0 になりますが、緯度が正しい値です。
これは必要最小限の ES サーバーであり (ダウンロードして実行)、何も (再) 構成されていません.. FacetFlow でホストされているものと同じです。
バージョンはElasticsearch.Netが1.4.3、NESTも1.4.3で、ElasticSearch自体は1.4.4です。
ここに欠けているものはありますか、それとももっと正確に言えば、ここに欠けているものはありますか?
サンプル コードは次のようになります (以下で使用される GeoLocation クラスはNest.GeoLocationクラスです)。
elasticsearch - Elasticsearch の用語クエリで MinimumShouldMatch を使用する
私は国のリストに一致するelasticsearchのネストにクエリを書いています.ESCountryDescription(国のリスト)にリスト内の国のいずれかが存在する場合は常に一致します. CountryList のすべての国が ESCountryDescription と一致する場合にのみ一致させたいと考えています。この例のように、MinimumShouldMatch を使用する必要があると思いますhttp://www.elastic.co/guide/en/elasticsearch/reference/0.90/query-dsl-terms-query.html
しかし、上記のクエリに MinimumShouldMatch を追加する方法が見つかりません。