2017-03-17 10 views
0

私はちょうど作成されたドキュメントを照会する必要があります。 lucene検索を使用すると、インデックス作成に数秒かかることがあり、検索結果に含まれない可能性があります。ちょうど作成されたノードの検索Alfresco JAVA

クエリは、5秒ごとに実行されるいくつかのalfresco webscriptまたはスケジューラから実行する必要があります。

今はNodeServiceを使用して、効率的なやり方ではない名前で子を見つけることでこれをやっています。私はJAVA APIを使用しています。

他の方法はありますか?

+1

新しいノードが作成されたときに、ルールまたは動作を使用してコードを呼び出すのはなぜですか?それは "より多くのアルフレッド"の方法でしょう – Gagravarr

答えて

2

ありがとうあなたが使用しているのAlfrescoのバージョンは言及しませんが、あなたはSolrのを使用しているように見えます。

ドキュメントを作成したばかりの場合は、そのドキュメントを参照し続けることをお勧めします。したがって、ドキュメントを再度検索する必要はありません。

ただし、ドキュメント参照ができないことがあります。たとえば、クライアント1は、クライアント2がドキュメントを作成したばかりであることを認識していません。 Alfrescoバージョン4.2以降を使用している場合は、おそらくTransactional Metadata Queries (TMQ)を有効にすることができます。これにより、データベースに対して検索を実行できるため、Solrの待ち時間はありません。

  1. Enable the TMQ patch、ノードのプロパティテーブルがデータベースにインデックスを取得して:あなたはTMQを使用する4つの条件を遵守する必要があるため、全体のセクションをご覧ください。
  2. 可能な限りデータベースを使用して検索を有効にします(TRANSACTION_IF_POSSIBLE)。
  3. あなたは正しいquery language(CMIS、のAFT、DB-luceneの、など)を使用していることを確認し
  4. あなたのクエリは、supported by TMQでなければなりません。
+0

おかげでそれは助け! – Sam

関連する問題