2016-07-06 15 views
0

Sitecore Webインデックス(コア1)とデータベーステーブル(コア2)の2つのソースがあります。私は、コア1のマージとコア2Solr 5.4.1インデックスをリアルタイムで結合する

http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core3&srcCore=sitecore_web_index&srcCore=core2

誰かがサイトコア上でページを公開するときには、サイトコアのウェブインデックスが更新されますではなく、マージされたコアであるコア3を作成しました。マージでどのようにリアルタイムのデータを取得できますか?方法はありますか?

ブラウザでこれを実行して、Solrを停止して起動すると、データが表示されます。しかし、これは、ページが編集されて公開されるときには、プロダクションでは不可能です。

おかげ カルパナ

答えて

0

あなたはSolrEventListenerインタフェースを使用して、イベントをコミットするリッスン小さなプラグインを作成することができます。完全なインデックスをマージする必要がありますが、インデックスが大きい方が効果的でない場合があります。

もう1つの方法は、両方のコア(Sitecoreではできない可能性があります - 私はSitecoreに慣れていないかもしれません)にインデックスを付けることです、または要件に応じて、core3とcore2の両方をcore3オプションかもしれません。

+0

感謝をしました。パブリッシュがあるたびにインデックスをマージすることは、あなたが言及したような効果的なオプションではありません。私はすでに両方のコアをインデックスに登録していますが、結果を1つの結果セットにまとめる方法は不明です。シャーディングについて言及しました。 Solrconfig.xmlのリクエストハンドラに追加できますか? – Kalpana

+0

これはうまくいかないようです - 結果は0です <! - クエリパラメータのデフォルト値を指定することができ、これらは によってオーバーライドされます。リクエストのパラメータ - > はlocalhost:8983/Solrの/ sitecore_web_indexは、localhost:8983/Solrの/ SharePoint_All Kalpana

0

これはトリックをあなたの返信用

<requestHandler name="/select" class="solr.SearchHandler"> 
<!-- default values for query parameters can be specified, these will be overridden by parameters in the request --> 
<lst name="defaults"> 
<str name="shards">localhost:8983/solr/sitecore_web_index,localhost:8983/solr/SharePo‌​int_All</str> 
</lst> 
</requestHandler> 
関連する問題