2016-04-25 10 views
0

私はクライアント用のインタラクティブな検索サービスを構築しており、文書に「タグ」を追加する機能が必要です。これらのタグは、既存のタグとカスタム定義の両方になります。スキーマがこれをサポートするように設定されていますが、結果セットを更新する際にSolarium PHPに問題があります。ソラリウム - 読み取り専用の結果セットを更新する必要があります

たとえば、ユーザーがデータベース内で「オーバーフロー」を検索し、その結果が1-1000 +結果を返す場合、この全体の結果セットに任意の数のタグを付ける機能が必要です。

私はexecute()から結果セットを取得していますが、現在は返されたドキュメントを変更できません。例外は「読み取り専用のドキュメントは変更できません」です。

この問題を回避する方法はありますか?あなたは、このクラスを使用する必要があり、更新文書の

答えて

1

サン\のquerytype \アップデート\クエリー\ Documentは

サンルームが2つの の理由で選択クエリのデフォルトとして、この文書タイプを使用していますほとんどの場合、更新機能は必要ありません。したがって、 の読み込みの場合のように、SolrをDBとして使用することを妨げるだけのオーバーヘッドになります。ほとんどすべてのスキーマにはインデックスのみのフィールドがあります。 フィールドの値を読み取る方法がないため、文書を再保存するとこのデータは失われます。 !更新は通常、元のデータ(データベース)の に基づいて行われます。 がSolrデータを更新することを本当に確信している場合は、選択したクエリのドキュメントタイプを として設定し、ドキュメントを変更して更新クエリに を使用することができます。

http://solarium.readthedocs.org/en/stable/documents/

関連する問題