問題タブ [foselasticabundle]
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.
php - フィールドと方向によるソートを実装するElasticsearch
昨日からドキュメントやその他のサンプル投稿を読んで、フィールドによる並べ替えと方向を現在のクエリ配列に追加する方法を見つけましたが、今のところうまくいきません。のような例を見てきまし{"sort": {"_score": "desc"}, "query": { ....
たが、ES を扱うのはこれが初めてなので、配列を変更するために頭を落ち着かせることはできませんでした。
私が必要とするのは、並べ替えまたは並べ替えができるようにしたいということprice
だけです。stock
asc
desc
並べ替えを実装するために配列を更新しようとするたびに、{"error":{"code":0,"message":"Invalid option sort"}}
エラーが発生します。
注: 結果を取得するために、クエリ配列がPagerfantaに渡されています。
php - Elasticsearch で snowball_analyzer を使用して大文字と小文字を区別しない検索を許可する
まず第一に、私はESに完全に慣れていません。正常に機能するアイテムを検索するために、以下の ES 検索条件を作成しましたが、今必要なのは、makeフィールドを大文字と小文字を区別しないようにして、検索結果が 、 などで同じになるhello
ようHeLlo
にHELLO
することです。
以下の記事を読んだことがありますが、知識が非常に限られているため、以下の例には静かに適用できませんでした。
- 大文字と小文字を区別しない
- not_analyzed ドキュメントに対して大文字と小文字を区別しない Elasticsearch Map
- Elasticsearch Snowball Analyzer は正確な単語を求めています
makenot_analyzed
から削除しても役に立ちません。
これらは私が作成したクエリです:
1
symfony - Elasticsearch PHP の最長プレフィックス マッチ
現在、Symfony2 でFOSElasticaBundleを使用していますが、最長のプレフィックスに一致する検索を作成するのに苦労しています。
これを使用してオートコンプリートのような検索を実行するためにインターネット上にある 100 の例を認識しています。しかし、私の問題は少し異なります。
オートコンプリート タイプの検索では、データベースは最長の英数字文字列 (文字数) を保持し、ユーザーは最短部分のみを提供します。たとえば、ユーザーが「jho」と入力すると、Elasticsearch は「Jhon、Jhonny、Jhonas」を簡単に提供できるとします。
私の問題は逆です。最も長い英数字の文字列を提供したいのですが、Elasticsearch にデータベース内の最大の一致を提供してもらいたいのです。
例: "123456789" を指定すると、データベースは [12,123,14,156,16,7,1234,1,67,8,9,123456,0] を持つことができます。ユーザーが提供した番号は「123456」です。
私は Elasticsearch を使い始めたばかりなので、作業設定などにあまり詳しくありません。
不明な情報や不足している情報がある場合はお知らせください。詳細をお知らせします。
更新 1 (ヴァルの 2 回目の更新を使用)
インデックス: 1800 以上のインデックスをダウンロード
ボーナス質問
その検索に数値の配列を提供し、毎回クエリを実行することなく効率的な方法でそれぞれに一致するプレフィックスを取得したいと思います
symfony - ElasticSearch でリレーションを管理する最良の方法は何ですか?
この質問がされた場合は申し訳ありませんが、この件に関して明確な答えが見つかりませんでした。
Elasticsearch インデックスの作成中に問題が発生しました。関係を適切に管理する方法がよくわかりません。
次のエンティティがあるとします。
- 製品
- ID
- 参照
- 本
- ID
- 名前
- 製品番号
- シャツ
- ID
- 色
- 製品番号
- ストックアイテム
- ID
- サプライヤーID
- 製品番号
- 量
そうしたいです :
- 色からシャツを探す
- Supplier_id 5 で指定されたすべての本を検索します
複数のクエリ、ネストされたオブジェクト、親子関係などを実行する必要があるかどうかを見つけることができませんでした...「そのように実行する」という適切なチュートリアルが見つかりませんでした。
実際、私はネストされたオブジェクトを扱っていますが、必要なすべてのデータを自分の型ごとに再定義するのはかなり面倒です。
これについてアドバイスはありますか?
ありがとう。
symfony - FosElasticaBundle: ElasticSearch に渡された実際の JSON をダンプする方法は?
Symfony プロジェクトで FosElasticaBundle を使用しています。マッピングを構成しましたが、「フィールド [_id] に単純な値が必要ですが、[START_OBJECT]] が見つかりました」という例外が発生します。
FosElasticaBundle によって作成された実際の JSON を確認して、ElasticSearch サーバーに対して直接テストし、例外について詳しく理解できるようにしたいと考えています。
FosElastica のドキュメントによると、デバッグ モードが有効になっている場合 (つまり、DEV 環境の場合) はすべてがログに記録されるはずですが、これが起こっていることはわかりません。Doctrine クエリしか表示されませんが、JSON は表示されません。
FosElasticaBundle によって作成された JSON をダンプするにはどうすればよいですか?
更新: マッピング
php - FOSElasticaBundle: エンティティを他のデータベースに永続化する必要がありますか?
仕事でElasticsearchを使っており、FOSElasticaBunbleを中間抽象化レイヤーとしてElasticと接続しようと考えています。
しかし、ドキュメントを読むと、型をDoctrine Entitiesにマップすることは可能であるように思われますが、ElasticsearchをSQL DBやMongoDBなどの別の永続化レイヤーと組み合わせる必要があるようです.
Elasticsearch 以外に追加の永続レイヤーなしで Doctrine Entities を使用することは可能ですか?
ご清聴ありがとうございました。