問題タブ [pyelasticsearch]
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.
python - Elasticsearch でネストされたオブジェクトを照会する
次のような製品と販売者のマッピングがあります
「製品」には、product_id、product_name、product_price などのオブジェクトがあります。製品と販売者は、次のようにマッピングされます。
データは、目的の形式でスムーズにインデックス付けされます。ここで、特定のインデックスからデータをクエリするときは、次の方法で行います。
このクエリは、マーチャント名が "Sir John" のインデックス内のすべての製品の結果を返します。ただし、代わりに「Sir John」が販売する商品「Vanilla」の詳細を返してほしい。
誰かの推薦で、クエリ中に「_source」を使用しましたが、それは役に立ちません。
マーチャントの「カタログ」インデックス全体から 1 つのオブジェクトの情報を抽出するにはどうすればよいですか?
elasticsearch - Elasticsearch で特定のクエリを満たす個別のフィールド値をすべて取得するにはどうすればよいですか?
私のサンプル文書は次のようになります。
価格が 4000 ~ 10000 で、長さが 50 ~ 100 の製品を持ってきたすべてのユーザーを取得したいと考えています。次のクエリは、上記の条件を満たすすべてのドキュメントを返します。
ここでは、上記のクエリ句を満たすすべてのドキュメントを取得します。指定するだけで応答を投影することもできる"_source" = ["user"]
ため、ドキュメント全体ではなく、user
代わりに、すべての一意のユーザーのリストが必要です。user
フィールドが繰り返される可能性のあるすべてのドキュメントの代わりに。
以下のような集計
すべてのドキュメントを集約しますが、代わりに、任意のクエリを満たすドキュメントの集約が必要です。集計内でクエリを定義するなどの単純なことを見逃しているように感じます。しかし、私はそれが何であるかを知りません。
elasticsearch - ネストされた配列に対する Elasticsearch 日付ヒストグラム集計
以下は、elasticsearch インデックスのサンプル ドキュメントです。
と
ここで、1 日あたりのドキュメント数と 1 日あたりのコメント数を見つける必要があります。日付ヒストグラムを使用して 1 日あたりのドキュメント数を取得でき、正しい結果が得られます。次の集計クエリを作成します
しかし、同様のことを 1 日あたりのコメントを取得しようとすると、正しくないデータが返されます (1500 件以上のコメントの場合、160 件の奇妙なコメントしか返されません)。次のクエリを作成しています。
希望する結果を得る方法を知りたいですか? 私が欲しいものを得るためにelasticsearchに方法はありますか? 他の情報を提供する必要がある場合はお知らせください。
期待される出力:
elasticsearch - エラスティック検索でフィルターを使用して集計を使用する
次のようなドキュメントでエラスティック検索を実行しています。
集計を使用して特定の領域に関する統計を取得しようとしていますが、使用しているクエリは次のとおりです。
しかし、結果には集計が表示されません。クエリのブール部分またはフィルター処理された部分を削除するとすぐに、集計が表示されます。なぜこれが起こっているのか、これらのフィルターの集計を取得する方法がわかりません。この質問への回答を使用してみましたが、解決できませんでした。何か案は?
django - http 認証を使用した Django Haystack 接続エラー
私は Haystack を使用して、elasticsearch のインストールに接続して対話しています。Elasticsearch は、メインの Web サーバーとは別のボックスにインストールされます。
nginxを使用してelasticsearchボックスにHTTP認証を設定しました。これは、elasticsearch への不正アクセスを阻止するためです。
Haystack の設定は次のようになります。
このセットアップでは、接続エラーが発生します。
HTTP 認証をオフにして、http://DOMAIN:PORT/
それに応じて URL を更新すると、問題なく接続されます。
Haystack (または elasticsearch-py ( http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/ ) ) が URL での HTTP 認証の使用を許可していないのでしょうか?これは Solr の問題であることに注意してください - Solr 認証 (Django Haystack を使用)
elasticsearch - ElasticSearch: 複数の加重関数によるランキング。random_score を使用する場合、他の関数は無視されます
いくつかの関数で複雑なランキングを作成し、重み付けして search _score で乗算したいと考えています。これは function_score -> functions パラメータで可能であることを理解しています。これが私が持っているものです(注、これはPythonです):
ノート:
- 各ドキュメントには、0 から 1 までの数値を含む「スコア」フィールドがあります。
- 「シード」は、ユーザー ID と現在の日付に基づいて生成されます
観察された動作:
- field_value_factor 関数をコメントアウトすると、結果はランダムにランク付けされます。
- random_score 関数をコメントアウトすると、結果はスコア フィールド順に並べられます。
- 何もコメントアウトしない場合、結果はランダムのみの場合と同じです: 2 番目の関数は無視されるようです
- 重みを極端な値に変更しても、ランキングに違いはありません
- また、field_value_factor 関数内で「factor」を使用しても何も起こりません。
- 順序を入れ替えても動作は変わりません...
私は何を間違っていますか?これをデバッグする他の方法はありますか?
編集:出力の説明
説明コマンドについて知りました!これは、最高スコアの結果の出力です。頭を包み込もうとして…
編集2:
したがって、ランダム関数は常に 0 を返し、それを他の要素と乗算すると、もちろん合計は 0 になるようです...なぜですか?
search - pyelasticsearch で検索タイプを指定する
pyelasticsearch を使用するときに検索タイプを指定する方法はありますか? 「scan」、「scroll」、「query_and_fetch」などのドキュメントには何もありません。次のコードを実行します。
次のエラーが発生します。
elasticsearch - Elasticsearch を使用してグループからいくつかの単語を結果で検索する方法は?
サンプルデータは次のとおりです。
にはtype blog_comments
、次のような構造のコメント データがあります。
とブログには#1
、全部#2
で 6 件のコメントがあります。type blog_comments
Question: Is it possible using some "magic" queries to get
#1 as the result when I searching "Apple Fruit" and get
#2when I search "Apple Earth" ?
すべてのコメントをブログごとに 1 つの新しいレコード (新しいタイプ) に結合し、この新しいタイプで検索を行うことを検討しています。しかし、コメントが多すぎて(約1200万件)、これらのコメントはすでにelasticsearch検索にインデックスされているため、これらのデータを可能な限り使用することをお勧めします.