2016-03-24 4 views
1

Sitecore 7.5 kullanıyorum ve kova öğesi çocukları almaya çalışıyorum. Ben "xyz" bir dizin var ve kullanarak bu dizini elde etmeye çalışmak zaman çalışır:Sitecore İçeriğiSearchManager index'i bulamıyor

var context = SearchManager.GetIndex("xyz").CreateSearchContext(); 

Ama bu kullanmak istedi:

using (var context = ContentSearchManager.GetIndex("xyz").CreateSearchContext()) 
{ 
    IQueryable<SearchResult> results = context.GetQueryable<SearchResult>(); 
} 

ve ben "Dizin xyz oldu bir özel durumu alıyorsunuz bulunamadı". SearchManager neden bu dizini bulur, ancak ContentSearchManager bunu yapmaz? Benim indeksi değişti ve şimdi şuna benzer:

<configuration> 
    <indexes hint="list:AddIndex"> 
<index id="xyz" type="Sitecore.Search.Index, Sitecore.Kernel"> 
     <param desc="name">$(id)</param> 
     <param desc="folder">xyz</param> 
     <Analyzer ref="search/analyzer" /> 
     <locations hint="list:AddCrawler"> 
     <web-pomoc type="Website.Classes.Search.BasicDatabaseCrawler, Website"> 
      <Database>web</Database> 
      <Root>/sitecore/content/Shared/Kolekcje/Vod/Catchup-VOD</Root> 
      <templates hint="list:IncludeTemplate"> 
      <entry>{DA757C92-A4CC-468F-BC22-AD347C8C4C9C}</entry> 
      </templates> 
     </web-pomoc> 
     </locat 
    </indexes> 
</configuration> 

Düzenleme:

Bu

benim endeksidir

Şimdi Endeksi yöneticisinde görünür ama ne zaman yeniden
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> 
    <sitecore> 
    <contentSearch> 
     <configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch"> 
     <indexes hint="list:AddIndex"> 
      <index id="catchup_search" type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider"> 
      <param desc="name">$(id)</param> 
      <param desc="folder">$(id)</param> 
      <!-- This initializes index property store. Id has to be set to the index id --> 
      <param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" /> 
      <configuration type=”Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider”> 
      <indexAllFields>false</indexAllFields> 
      <initializeOnAdd>true</initializeOnAdd> 
      <analyzer ref=”contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/analyzer” /> 
      <include hint="list:IncludeTemplate"> 
       <catchup_entry>{DA757C92-A4CC-468F-BC22-AD347C8C4C9C}</catchup_entry> 
      </include> 
     </configuration> 
      <strategies hint="list:AddStrategy"> 
       <!-- NOTE: order of these is controls the execution order --> 
       <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/onPublishEndAsync" /> 
      </strategies> 
      <commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor, Sitecore.ContentSearch"> 
       <policies hint="list:AddCommitPolicy"> 
       <policy type="Sitecore.ContentSearch.TimeIntervalCommitPolicy, Sitecore.ContentSearch" /> 
       </policies> 
      </commitPolicyExecutor> 
      <locations hint="list:AddCrawler"> 
       <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch"> 
       <Database>web</Database> 
       <Root>/sitecore/content/xyz/avc</Root> 
       </crawler> 
      </locations> 
      </index> 
     </indexes> 
     </configuration> 
    </contentSearch> 
    </sitecore> 
</configuration> 

Bu, 0 ürün işlenir.

cevap

0

Değişim Sitecore.Search.Index, Sitecore.Kernel Sitecore.ContentSearch.LuceneProvider.LuceneIndex ila tipi, Sitecore.ContentSearch.LuceneProvider

SearchManager.GetIndex ("xyz"). CreateSearchContext () -. SitecoreContentSearch

kullanır - IndexSearchContext kullanımı

ContentSearchManager.GetIndex ("xyz") CreateSearchContext() iken yapar

Sitecore, dizinleri yeniden oluşturmak için SitecoreContentSearch'ü kullanır. Teşekkür

0

Kişisel indeks tanımı yanlıştır Sen gibi bir şey kullanmak gerekir: Dizin yapılandırma dosyası lütfen ekledikten sonra

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> 
<sitecore> 
    <contentSearch> 
    <configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch"> 
    <indexes hint="list:AddIndex"> 
     <index id="sitecore_web_index" type="Sitecore.ContentSearch.LuceneProvider.LuceneIndex, Sitecore.ContentSearch.LuceneProvider"> 
     <param desc="name">$(id)</param> 
     <param desc="folder">$(id)</param> 
     ... 
     </index> 
    </indexes> 
    </configuration> 
</contentSearch> 

Sitecore 7.5

varsayılan dizin tanımını kontrol edin Endeksinizin IndexManager'da görünüp görünmediğini kontrol edin:

enter image description here

+0

Düzenlenmiş soruma bakabilir misiniz? – petros

+0

/sitecore/content/xyz/avc Bu öğeyi web veritabanında var mı? –

+0

Web sitesi üzerinden \t/sitecore/content/xyz/avc altında kimlik numarası: {DA757C92-A4CC-468F-BC22-AD347C8C4C9C} olup olmadığını kontrol edebilir misiniz? –