問題タブ [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.
symfony - cron ジョブで populate コマンドを実行すると FOSElasticaBundle の問題が発生する
Linux で cron ジョブを作成して、5 分ごとに次のコマンドを実行し、elasticsearch インデックスを更新しました。
また、以下のように、ドキュメントの添付ファイルのネストされたオブジェクト マッピングがあります。
DB でドキュメントのインデックスを作成するのに適切に機能し、添付ファイルを除いて問題はありません。cron ジョブの実行時に添付ファイルのインデックスは作成されませんが、populateコマンドを手動で実行すると、添付ファイルのインデックスが作成されます。それは本当に奇妙で、私を混乱させました。
解決策を見つけるのに役立つもう1つのこと:コマンドを実行するためにWindowsマシンで同じスケジュールタスクを作成しましたが、問題なく動作します
あなたが助けることができればそれを感謝します
php - Symfony 2.4コントローラーからのコマンドの実行
コントローラーからコマンド fos:elastica:populate を実行したいと思います。
そのコードを試してみましたが、うまくいきません。エラー = 1 の var_dump show "" が表示されます。
何か案は ?
別のコードを試してみます.....
それは言う:「「相互作用なし」オプションは存在しません。PopulateCommand の Input ->getOption ('no-interaction') で。
コードを次のように変更した場合:
$input = new StringInput('--no-interaction');
「「--no-interaction」オプションは存在しません」と表示されます。at
'ArgvInput ->addLongOption ('no-interaction', null) '
symfony - FOSElasticaBundle を使用したキーワードの複数検索
元のキーワードと変換されたキーワードで検索するには? Elastica を使用して、次のようなデータにインデックスを付けました。
今、人々がキーワードを検索したいときphòng
、私はキーワードphong
(から変換phòng
) も検索したいのですが、前者は後者よりも高いスコアを獲得する必要があります。
FOSElasticaBundle または ElasticSearch でそれを行う方法は?
symfony - FOSElasticaBundle の結果は Doctrine の結果と異なりますか?
次のクエリが異なる結果を返すのはなぜですか? 詳しくは
- すべてのアクティブな投稿を取得したいのですが、tttAt の降順で並べ替えます。
- Doctrine2 は期待した結果を返しますが、FOSElasticaBundle ではありません
- Doctrine2 はすべてのレコードを返しますが、FOSElasticaBundle は最初の 10 個のレコードのみを返しますが、Doctrine の最初の 10 個のレコードでさえ FOSElasticaBundle のものとは異なるため、これを無視してください。
FOSElasticaBundle クエリ:
Doctrine2 クエリ:
symfony - Doctrine2 と FOSElasticaBundle 間の同期はリアルタイムではありませんか?
/posts
最新の 10 個のアクティブな投稿を一覧表示するURLがあります。最後の投稿 (10 件中 1 件目) を編集すると、変更がリアルタイムで Elasticsearch に同期されないようです。
これが私のコードです:
上記のコードが実行された後、リダイレクトされますが、編集されたばかりでステータスが削除/posts
に変更された最後の投稿は、最新の 10件のアクティブな投稿としてリストされます (これは間違いです)。ページを更新すると消えます ( )。/posts
のコード/posts
:
私のマッピング:
誰かがその問題を解決する理由と方法を説明できますか?
更新: xdebug を使用してリダイレクトを約 1 秒または 2 秒遅らせると、投稿が表示され/posts
なくなります。そのため、ElasticSearch がインデックスを再作成するのに十分な時間がなかったことをゲストに伝えました。アイデアや解決策はありますか?
symfony - FOSElasticaBundle のインデックス作成により Symfony の動作が遅くなる
FOSElasticaBundle を使用した ElasticSearch でのインデックス作成が機能しません。
ここに私の設定(app/config/config.yml)からのものがあります:
これらすべてをコメントアウトして、ES でインデックスが作成されないようにすると、すべてが正常に機能します。しかし、これが config.yml ファイルに存在し、フォームを使用してエンティティを投稿すると、コンピューター ファンは 2 分間熱狂し、次の応答が返されます。
「FatalErrorException: エラー: 最大実行時間が 120 秒を超えました」
config.yml-settings を変更して、投稿している特定のエンティティが ES にインデックス付けされているエンティティの中に含まれないようにすると、すべてが正常に機能しますが、ES でデータベース行を 1 つだけインデックス付けするだけで、サーバーを起動するのに十分な場合があります。停止するようです。
php app/console fos:elastica:populate
データベースが空の場合、コマンドは終了します。また、1 つのデータベース行を ES にインデックス付けして 1 回か 2 回動作させましたが、データベース内のデータ量が非常に少ない場合でも、ファンがなくても数分間狂ったように動作します。通り過ぎますResetting website
(populate-command の実行時に端末が出力する最初の行)。
問題が何であるかを理解するのに役立つかもしれないこと:
以前、このプロジェクトで ES 統合を成功させました。データベースのインデックス作成、データベースに追加された新しいもののインデックス作成、ES での検索 - すべてが魔法のように機能しました。しかし、ES 統合は、これまでメイン プロジェクトとマージされていない特定の git ブランチに保持されていたため、機能しなくなりました。
ES 統合ブランチをマスター ブランチ マスター ブランチとマージする前に、マスター ブランチは特に FOSRestBundle を利用しました。
master-branch をプルしたチームの他の人も同じ問題を抱えていたので、問題はプロジェクト コードにあり、私の ElasticSearch ノードにあるようには見えません (確かではありませんが)。
何が間違っているのか考えている人はいますか?どんな助けでも大歓迎です!
より多くの情報やコードのセクションが問題を特定するのに役立つ場合は、もちろん喜んで提供します。
symfony - symfony2 でのエラスティック検索 (FOSElasticaBundle) による計算フィールドのインデックス作成
エンティティ「レート」と1対多の関係を持つ「記事」エンティティがあります。
私の記事はすでにインデックスされています。記事のレート平均 (記事に関連する「レート」エンティティで計算) をインデックスに追加したいのですが、これを行う方法がわかりません。また、新しいレートがある場合は平均レートを更新する必要があります。作成した。
config.yml のマッピング:
レート エンティティ マッピングの場合: