問題タブ [elastica]
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.
search - クエリ文字列による特定のフィールドでスペースを使用した検索が機能しない
次のマッピングで既にインデックスを作成したTwitterユーザーの説明フィールドで「フォローバック」を検索します。
注: マッピングの一部のみを強調表示します。
1.
2.
3.
4.
setFields がコメントされている間に検索すると、次のような多くの結果が得られます
あなたがフォローするなら、フォローバックしてください!:) 100%フォローバック!:)
私に従ってください私はフォローバックします:) instagram:juliemar25私はフォローバックします
しかし、setFieldsとdefaultOperatorをANDにコメント解除した後、結果は表示されません。AND setFieldsとdefaultOperatorをORにコメント解除すると、説明に「フォロー」が含まれている結果のみが表示されます。
Q1: _all ではなく setFields で空白が機能しないのはなぜですか?
マッチクエリの使用中
また、説明のみに「フォローバック」が含まれている 2 つの結果のみを示しています。しかし、一致フィールドを_allに変更した後、説明フィールドに「フォローバック」を含む多くの結果が表示されます
Q2. なぜそれが起こっているのですか?スペースで区切られた単語を検索するにはどうすればよいですか?
symfony - ESサーバーなしでFOSElasticaBundleを使用してSymfonyアプリケーションを単体テストしますか?
SQLite を DB として使用している単体テストの既存のセットを含むアプリケーションがあります。私は最近、ES を介して検索機能を追加しました。これは、DB を直接クエリするために使用されていたエンドポイント アクションの多くを置き換えました。ES 自体をテストせずに、これらのエンドポイントに関連するすべてのビジネス ロジックをテストしたいので、ES サーバーを使用できません。実行頻度を減らすために、一連の統合テストで ES 自体をテストする予定です。
私の問題は、実行フローで何が起こっているかを正確に追跡しようとすることです。
私の最初の傾向は、インデックス用に FOSElasticaBundle が作成する ES Finder のモック オブジェクトを単純に作成することでした。ページネーションを使用しているため、思ったよりも複雑であることがわかりました。
これは実際には、コントローラーからビューを返すまでずっと機能します。私のサービスは、ファイルに保存した (その後 ResultSet オブジェクトに渡した) JSON 検索応答から事前に入力された結果セットを含むモック paginatior アダプターを返します。ただし、ビューを返すと、既に渡した ResultSet を使用する代わりに、クエリを使用して ES を再度クエリしようとするリスナーが関係しているようです。
このリスナーが見つからないようです。また、 ResuletSet が既に存在するときにクエリを実行しようとする理由もわかりません。
私は FOSRestBundle も使用しており、それらの ViewListener を使用して、返されたものを自動シリアル化しています。その流れにも容疑者は見えません。結果セットのシリアル化と関係があるのではないかと思いますが、これまでのところ、問題のあるコードを追跡できていません。
以前にこれと同様のことを試みた人はいますか?現在のセットアップをデバッグする方法、またはこのタイプのテストで ES をモックするための代替のより良いセットアップのいずれかについて提案がありますか?
search - スクリプト スコア関数が機能していませんが、addDecayFunction は FunctionScore クエリで機能しています
私は Elastica を使用しており、\Elastica\Query\FunctionScore(); を使用します。関数スコア --> script_score。ここで addDecayFunction() は正常に機能しますが、 addScriptScoreFunction() は機能せず、例外もありません。
DecyFunction は動作しているためコメントされています
ここにコードがあります
php - Doctrine 2 を使用して Zend Framework 2 に Elasticsearch を統合する方法
doctrine を Zend Framework 2 と統合するためのこのチュートリアルに従いました。現在、すべて正常に機能していますが、Elasticsearch をこのプロジェクトに統合したいと考えています。
Elasticsearch に関するドキュメントをたくさん見つけました。PHP 用の Elastica プラグインをダウンロードしましたが、どこから始めればよいかわかりません。
Elasticsearch を Doctrine と統合するためのチュートリアルを検索しましたが、それらはすべて Symfony に関するものです。Zend Framework 2 で ElasticSearch を使用し、Doctrine 2 を ORM として使用してオブジェクトにインデックスを付けて検索する方法を (簡単な方法で) 説明してもらえますか?
elasticsearch - ポイントごとにポリゴンを含むドキュメントを見つける方法は?
「境界」フィールドを持つ ES のドキュメントがあります。これはフィールドの内容の例です: https://gist.github.com/litzinger/a95342dedc0081c8db8d
経度/緯度ポイントが与えられた場合、このインデックスをクエリして、そのポイントが含まれるドキュメントを見つけることができる必要があります。このクエリの作成に問題があり、どこでもこれを行う方法の明確な例が見つからないようです。
これは、座標配列が経度/緯度ポイントであるクエリの 1 つの例です。多角形を使用して経度/緯度のポイントを持つすべてのドキュメントを検索する作業クエリが既にありますが、それを逆に機能させることはできません。
elasticsearch - ElasticSearch 一致パス
ユーザーがタイプごとに異なるアクセス許可を持つ可能性がある、さまざまなタイプのインデックスがあります。すべてのレコードにはpath
、表示できるユーザーと表示できないユーザーを決定するために使用されるフィールドがあります。レコードの例を次に示します。
users/12
ユーザーが、users/14
、users/18
、およびを表示できることがわかっている場合、一致するレコードのみをフィルター処理してフィールドprojects/*/public/*
内を検索するクエリをどのように構成しますか? content
これは SQL では簡単ですが (データベースの FULLTEXT インデックスをモデルにしています)、ElasticSearch で動作させる必要があります。
lucene - Elastic Search ヒットによって返されるフィールドをフィルタリングして、パフォーマンスを向上させます (ソース フィルタリング)。
約 70 のフィールドを持つ索引付けされた文書。いくつかは store=yes であるが索引付けされておらず、他のものは store=no であるが索引付けされている (分析されたものと分析されていないものがある)。 ) 完全なドキュメント (検索に一致するもの) を抽出しています。パフォーマンスを向上させたいのですが、ドキュメントのすべてのフィールドにインデックスを付ける必要はありません (必要なフィールドは、ビュー列として渡されるクエリによって異なります)。
クエリ レベル (jason クエリ ボディ) でこのフィルタリングを実行する最善の方法 (ソース フィルタリングはよくわからないかもしれませんが、ドキュメントは非常に未熟です)。
symfony - GeoDistance でフィルタリングしようとすると PartialShardFailureException が発生する (foselasticaBundle Symfony2)
数日間、エラスティカ クエリが機能しなくなりました。入力に問題はありません.GeoDistance部分を削除すると、リクエストが実行され、結果が得られます. 現在、トレースで次のメッセージを受け取りました。
それは私には何の意味もないので、$shardsStatistics
変数の var_export を作成したところ、次のようになりました。
「 geo_point フィールド [location.latlon]] が見つかりませんでした」というエラー終了。_mapping を確認すると geo_point が存在し、プロパティの名前を間違えていないため、なぜ機能しないのかわかりません。
そして、これは私が fos_elastica を設定する方法です
$query->getQuery() によって取得されたクエリ値 (次のクエリを参照) を使用して kopf リクエストを行うと、正しい結果が得られます。
どうすればいいのかわからない。私は 3.0.*@alpha バージョンを使用していましたが、今は dev-master を試しています。誰かが何が問題なのかを見つけるのを手伝ってくれることを願っています.
Elastica/Response.phpのメソッドで var_export を作成すると、前述getData
の失敗が発生し、1 つのヒット (取得したいもの) も発生します。
symfony - Fos エラスティカ フィルター
エラスティカ クエリを言語でフィルタリングしようとしています。クエリは正常に機能しますが、フィルターを追加すると結果が 0 になります。
私のエンティティ:
私のConfig.yml
そして、私の fos elastica リポジトリには、次のコードがあります。
クエリをコントローラーに直接入れようとしましたが、同じ結果になりました。フィルターが結果を返さない理由が本当にわかりません。
誰かが助けてくれることを願っています。答えが本当にわからないからです
elasticsearch - エラスティック検索で埋め込みオブジェクト フィールドでフィルタリングする方法
ここに私の検索オブジェクトがあります:
そして、ここに私が実行しようとしているクエリがあります:
しかし、私は何も戻っていません。私は何を間違っていますか?