1

デフォルトのデータベース クローラーを使用する新しいインデックスを作成しました。指定した 5 つのテンプレートのすべてのフィールドにインデックスを付けることができません。

上記のフィールドを確認するために IndexViewer モジュールを使用しています。使用可能なフィールドに、インデックスを作成するすべてのフィールドが一覧表示されますが、_url、_group、_name、および _tags のフィールドのみがインデックス作成されます。

また、インデックス フィールドに対してテストするコードをいくつか書きましたが、目的の結果が得られています。指定したテンプレートのすべてのフィールドを含めるためにインデックスが必要なだけです。以下は、インデックスの構成です。

<index id="Articles" type="Sitecore.Search.Index, Sitecore.Kernel">
<param des="name">$(id)</param>
<param des="folder">__articles</param> 
<Analyzer ref="search/analyzer"/>            
<locations hint="list:AddCrawler">
    <customindex type="Sitecore.Search.Crawlers.DatabaseCrawler, Sitecore.Kernel">
        <Database>web</Database>
        <Root>/sitecore/content/[websitehome]</Root>
        <Tags>articles</Tags>
        <IndexAllFields>true</IndexAllFields>
        <include hint="list:IncludeTemplate">
            <template1>{C4663677-909E-4C4D-AB3E-78AADBB36CF7}</template1>
            <template2>{444D1797-1EA9-46F2-988D-2211CF926501}</template2>
            <template3>{1A859C38-FFFA-4102-BF7F-9E670495C3AF}</template3>
            <template4>{6EA89465-C6C4-4643-9589-188FBB180883}</template4>
            <template5>{52F0AB89-E9C3-4D10-9242-ACB669841C41}</template5>               
        </include>
    </customindex>              
    </locations>

4

3 に答える 3

1

インデックスを観察するためにLukeallツールを使用してみてください。IndexViewer は、保存されていないフィールドを表示しない場合があります。Lukeall を使用するには、C:\inetpub\wwwroot\Sitecore\Data\indexes__articles フォルダーを選択し、[読み取り専用] と [強制ロック解除] をオンにして、[OK] をクリックします。

于 2012-05-01T09:10:54.150 に答える
1

Lucene にインデックス値を格納させるには、フィールド定義でstorageType="YES"を設定します。

 <fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch">
        <fieldNames hint="raw:AddFieldByFieldName">
          <field fieldName="_uniqueid" storageType="YES"
于 2015-09-07T12:46:04.963 に答える
0

私はこれを理解しました。インデックスには、値ではなくフィールドが含まれていました。これがインデックスの目的の機能であるかどうかはわかりませんが、それに対してクエリを実行すると、結果が返されます。

于 2012-05-01T13:43:49.177 に答える