0

Web サイトの一部のセクションで Sitecore クエリと FAST クエリを使用しています。しかし、コンテンツの増加に伴い、これらのクエリは遅くなったので、コンテンツの Lucene クエリを実装して速度を上げたいと考えています。

別のインデックスを設定する代わりに、システム インデックスを使用できるかどうか疑問に思っています。Sitecore は既定でコンテンツ エディターのすべてのコンテンツをインデックス化しますか? これは良いアプローチですか、それとも独自のインデックスを作成する必要がありますか?

4

3 に答える 3

5

(Sitecore 6.4->6.6 を使用していると仮定します)

すべての場合と同様に..場合によって異なります..Sitecore はすべての Sitecore アイテムのインデックスをシステム インデックスに保持しています。それを使用してください。特定のテンプレートに基づいている、インデックスが作成されている、またはインデックスが作成されているチェックボックス フィールドが必要な場合など、より特化した、または制限されたアイテムのリストが必要になる場合があります (システムはデフォルトでtextフィールドのみをインデックス化するため)。

独自の検索インデックスを設定するのは非常に簡単です.ただし、web.config をいじる必要があります (.includeファイルとして追加することをお勧めします)。

コレクションの名前とそれが入るフォルダーを定義する<index>独自の新しいノードを作成します。(インストールidのディレクトリでディレクトリを探すことで、その動作を確認できます。/data/indexes

ここに画像の説明を入力

.. 次に、クローラーにどのデータベースを参照するか (master未公開のコンテンツをインデックスに登録したい場合やweb、公開されたコンテンツを検索する場合)、どこから検索を開始するか (この例では、ニュース セクションのみをインデックスに登録しています) を指定できます。できるかどうかを判断できます (そうでない場合はtag、テキスト .. リッチテキスト / 複数行テキスト / テキストなどとして理解できるフィールドのみにインデックスを付けます)。boostIndexAllFields

ここに画像の説明を入力

.. 最後に、含めるまたは除外するテンプレートの種類をインデクサーに伝えることができます。

ここに画像の説明を入力

インデクサーの仕組みは、サイトコア内のアイテム イベントをサブスクライブすることです。そのため、アイテムが変更、移動、または削除されるたびに、インデックスが自動的に更新されます。明らかに、データベースにインデックスを付ける場合はweb、アイテムが公開されている必要があります。

ここに画像の説明を入力

クエリ構文とインデックス作成の詳細については、SDN のこちらを参照してください

検索構文と API は 6.4/6.5 で大幅に改善されていますが、さらにキックを追加したい場合は、同僚の Alex Shyba のAdvanced Database Crawlerもチェックする価値があります。

これが役立つことを願っています:D

于 2012-10-25T20:19:09.053 に答える
1

独自のインデックスを実装する必要があります。コンテンツが多いと速度が低下するのと同じ理由で、コンテンツが多いとインデックスも遅くなります。

私は、必要な機能を駆動するために特別に意図されたターゲットインデックスを好み、必要なデータのみが含まれています。これにより、コンポーネントでのインデックスの使用をより小さく、より効率的にすることができます。

さらに、 AlexShybaによってまとめられたAdvancedDatabaseCrawlerを調べたいと思うかもしれません。このluceneインデックスモジュールの実装に関するすばらしい投稿が掲載されたブログがいくつかあります。

于 2012-10-25T20:12:55.150 に答える
1

別のインデックスは常に賢明な決定であり、軽く保つことができます。大規模な環境では、システム インデックスはギガバイトまで増加する可能性があります。

インデックスからコンテンツを表示するのではなく、ルックアップの実行にのみ使用するため、コンテンツをインデックスから除外できます。

最後に、システム インデックスはマスター データベース用です。おそらくコンテンツ配信サーバー上で、Web データベースにクエリを実行します。

于 2012-10-26T09:11:48.307 に答える