問題タブ [elasticsearch-py]

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

python - タイプが存在しない場合、Python エラスティックサーチ クライアントは true を返します

タイプのマッピングを削除しようとしていますが、その前に、以下のコードのようにタイプが存在するかどうかを確認しています:

タイプが存在するかどうかをチェックする行は、存在しないタイプであっても true を返します。そのため、型のマッピングを削除しようとすると、次の行で TypeMissingException が発生します。

ipython コンソールでコードを実行すると、問題はないように見えますが、コードが非同期タスクの一部として実行されると問題が発生します。これは毎回発生するわけではなく、QA サーバーと運用サーバーでランダムに発生します。これら 2 つの環境は、elasticsearch 用に 2 つのノードがある唯一の環境であり、他の環境では問題は見られません。

私は Python 2.7、elasticsearch-py 0.4.4、elasticsearch バージョン 1.0.1 を 64 ビット Linux 上の 2 つのノードで使用しています。コードは、定期的なセロリ タスクとして実行されます。

編集:問題に詳細を追加しました。

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

python - elasticsearch-py の解析エラーの取得

時間範囲内で特定の単語「tsbu」をelasticsearchデータ全体で検索しようとしています。これを実行しようとすると、SearchParseException と Parse Failure が発生します。

私が得る完全なエラーは次のとおりです。

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

python - インデックス作成中のpythonelasticsearchクライアントセットマッピング

次のように、curl コマンドで作成されるインデックスのマッピングを設定できます。

しかし、pythonでelasticsearchクライアントを使用してそのインデックスを作成し、マッピングを設定する必要があります..方法は何ですか? 以下のことを試しましたが、うまくいきません:

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

python - Bulk-API を使用して Elasticsearch-py で ElasticSearch にタイムスタンプを追加する

データにタイムスタンプを追加し、elasticsearch-py で一括インデックスを作成してから、kibana でデータを表示しようとしています。

私のデータはキバナに表示されていますが、タイムスタンプは使用されていません。インデックス パターンを構成した後に [Discovery] タブに移動すると、0 件の結果が返されます (はい、検索時間を調整してみました)。

バルク インデックス json は次のようになります。

これは Elasticsearch によって受け入れられ、Kibana にインポートされますが、_timestamp フィールドは実際にはインデックス化されません (「時間フィールド名」の下でインデックス パターンを構成するときにドロップダウンに表示されます)。

また、次のようにメタフィールドをフォーマットしようとしました。

これも機能しません。

最後に、_timestamp フィールドをインデックス内に含めてフォーマットを適用しようとしましたが、elasticsearch でエラーが発生しました。

エラーは次のとおりです。

誰かが提供できるどんな助けも大歓迎です。問題を十分に説明していない場合は、お詫び申し上げます。さらに明確にする必要がある場合はお知らせください。ありがとう。

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

python - Elasticsearch analyze() は Python の Spark と互換性がありませんか?

Python 3を使用してPySpark内でelasticsearch-pyクライアントを使用していますが、ESでanalyze()関数をRDDと組み合わせて使用​​すると問題が発生します。特に、RDD の各レコードはテキストの文字列であり、それを分析してトークン情報を取得しようとしていますが、Spark のマップ関数内で使用しようとするとエラーが発生します。

たとえば、これは完全に正常に機能します。

ただし、これを試すと:

ピクルス化に関連する非常に長いエラーメッセージが表示されます(これで終わりです):

エラーの意味がわかりません。私は何か間違ったことをしていますか?ES分析機能をRDDのレコードにマップする方法はありますか?

編集:elasticsearch-py の他の関数 (es.termvector() など) を適用するときにも、この動作が発生します。

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

python - アナライザーでの Elasticsearch Python 絵文字と用語オフセット

Python クライアントで Elasticsearch を使用していますが、Unicode、ES、アナライザー、および絵文字の間の相互作用について質問があります。絵文字を含む Unicode テキスト文字列を ES アナライザーで実行しようとすると、結果の出力で用語オフセットが台無しになっているようです。

例えば:

これにより、テストという用語のオフセットが間違っています。

別の Unicode 外部文字 (円記号など) を使用しても、同じエラーは発生しません。

誰が何が起こっているのか説明できますか?

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

elasticsearch - ElasticSearch 自動入力

製品コードで検索したい - 文字と数字の組み合わせ (例: A210/444Alexx 1982 X、 ...)。(ところで: このタイプのデータを検索するためのベスト プラクティスはありますか?)

と のインデックスがindex_analyzerありsearch_analyzerます:

問題は自動入力にあります。 index_analyzerすべての値は単語型です。

しかし、search_analyzer(edgeNGramなし)...

...数字として認識1982し、これが検索で問題を引き起こします(_allプレースホルダーを使用)。ただ検索してみると検索結果にヒットなし1982

一部の文字列型のみを強制的に使用する方法はありますか?

アイデアをありがとう!

マーティン