이전 Lucene 방식에서 Sitecore.Search를 사용하도록 코드를 변경하고 있습니다. 이렇게하려면 ADC module의 크롤러를 사용합니다. 나는 현재 Searcher를 사용하지 않고 있으며, 모듈의 크롤러 만 사용하고 있습니다 (나중에 단계적으로 변경하려고합니다).
나는 색인을 얻고 내 CM 환경에서 완벽하게 작동 기능을 검색하기 위해 관리했습니다,하지만 CD 환경은 내가 재건하려고 다음과 같은 오류를주고 계속 :CD 환경에서 검색 인덱스 재구성
구성 노드를 찾을 수 없습니다 : 데이터베이스/데이터베이스 [을 @ id = '코어']. 내가 검색 인덱스를 다시 실행하고있어 코드는 CD에
은 다음과 같습니다 CM에이 코드를 실행
이foreach (var options in from ListItem item in cblIndexes.Items
where item.Selected
select new JobOptions("RebuildSearchIndex", "index", global::Sitecore.Client.Site.Name, new Builder(item.Value), "Rebuild") { AfterLife = TimeSpan.FromMinutes(1.0) })
{
JobManager.Start(options);
}
잘 작동합니다.
실패한 인덱스 중 하나에 대한 나의 구성 :
<search>
<configuration>
<indexes>
<index id="PressReleaseIndex" type="Sitecore.Search.Index, Sitecore.Kernel">
<param desc="name">$(id)</param>
<param desc="folder">$(id)</param>
<Analyzer ref="search/analyzer" />
<locations hint="list:AddCrawler">
<web ref="search/crawlers/PressReleaseIndex" param1="web" />
</locations>
</index>
</indexes>
</configuration>
<crawlers>
<PressReleaseIndex type="scSearchContrib.Crawler.Crawlers.AdvancedDatabaseCrawler,scSearchContrib.Crawler">
<Database>$(1)</Database>
<Root>/sitecore/content/home/newsroom</Root>
<IndexAllFields>false</IndexAllFields>
<include hint="list:IncludeTemplate">
<pressrelease>{91DB1CBC-32F8-4344-A974-7F4FE5F07668}</pressrelease>
</include>
<include hint="list:IncludeField">
<title>{F8C6E41E-3C9F-45F6-8409-61F5C8F2BF19}</title>
<shortdescription>{D25294E9-03C1-4E62-968B-5410AAAD0863}</shortdescription>
<body>{A0AD83E2-1099-407C-B8D7-C123FDAAD5DD}</body>
<releasedate>{D0B594BC-2ED6-4A0E-A050-3243CD044040}</releasedate>
</include>
<fieldCrawlers hint="raw:AddFieldCrawlers">
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.LookupFieldCrawler,scSearchContrib.Crawler" fieldType="Droplink" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.LookupFieldCrawler,scSearchContrib.Crawler" fieldType="Droptree" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.DateFieldCrawler,scSearchContrib.Crawler" fieldType="Datetime" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.DateFieldCrawler,scSearchContrib.Crawler" fieldType="Date" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.NumberFieldCrawler,scSearchContrib.Crawler" fieldType="Number" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.MultilistFieldCrawler,scSearchContrib.Crawler" fieldType="Multilist" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.MultilistFieldCrawler,scSearchContrib.Crawler" fieldType="Treelist" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.MultilistFieldCrawler,scSearchContrib.Crawler" fieldType="TreelistEx" />
<fieldCrawler type="scSearchContrib.Crawler.FieldCrawlers.MultilistFieldCrawler,scSearchContrib.Crawler" fieldType="Checklist" />
</fieldCrawlers>
<dynamicFields hint="raw:AddDynamicFields">
<dynamicField type="Sapient.Practice.Ccmp.Common.SitecoreSearch.DynamicFields.ReleaseYearField,Sapient.Practice.Ccmp.Common" name="_releaseyear" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<dynamicField type="Sapient.Practice.Ccmp.Common.SitecoreSearch.DynamicFields.ReleaseMonthField,Sapient.Practice.Ccmp.Common" name="_releasemonth" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" />
</dynamicFields>
<fieldTypes hint="raw:AddFieldTypes">
<!-- Text fields need to be tokenized -->
<fieldType name="single-line text" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<fieldType name="multi-line text" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<fieldType name="word document" storageType="NO" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<fieldType name="html" storageType="NO" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<fieldType name="rich text" storageType="NO" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<fieldType name="memo" storageType="NO" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<fieldType name="text" storageType="NO" indexType="TOKENIZED" vectorType="NO" boost="1f" />
<fieldType name="date" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" />
</fieldTypes>
</PressReleaseIndex>
(우리가 Sitecore 6.5 업데이트 5로 업그레이드), 모든 참조를 제거 Core
데이터베이스로 이동하십시오.
CD의 ShowConfig 페이지로 이동하여 'core'를 찾았지만 결과를 찾지 못했습니다. 또한 AppSettings.config, ConnectionStrings.config 또는 내가 가지고있는 다른 설정 파일에 코어 데이터베이스에 대한 참조가 없습니다. 내가 아는 한, 핵심 데이터베이스를 하드 코딩 된 것으로 참조하지 않습니다 (또는 그 전에 문제가 있었을 것입니다).
핵심 데이터베이스를 참조 할 위치를 파악할 수 없었습니다. 스택 트레이스와
완전한 예외 :
Exception: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Sitecore.Reflection.ReflectionUtil.InvokeMethod(MethodInfo method, Object[] parameters, Object obj)
at Sitecore.Reflection.MethodInstance.Invoke()
at Sitecore.Jobs.JobRunner.RunMethod(JobArgs args)
at (Object , Object[])
at Sitecore.Pipelines.PipelineMethod.Invoke(Object[] parameters)
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
at Sitecore.Pipelines.CorePipeline.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
at Sitecore.Jobs.Job.ThreadEntry(Object state)
Nested Exception
Exception: System.InvalidOperationException
Message: Could not find configuration node: databases/database[@id='core']
Source: Sitecore.Kernel
at Sitecore.Diagnostics.Assert.IsTrue(Boolean condition, String format, Object[] args)
at Sitecore.Configuration.Factory.GetConfigNode(String xpath, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(String configPath, Boolean assert)
at Sitecore.Configuration.Factory.GetDatabase(String name, Boolean assert)
at Sitecore.Configuration.Factory.GetDatabase(String name)
at Sitecore.Web.UI.HtmlControls.Data.LookupSources.GetDatabase(String source)
at Sitecore.Data.Fields.CustomField.GetDatabase()
at Sitecore.Data.Fields.DelimitedField.ValidateLinks(LinksValidationResult result)
at Sitecore.Links.ItemLinks.AddLinks(Field field, List`1 links, ItemLinkState linkState)
at Sitecore.Links.ItemLinks.GetLinks(ItemLinkState linkState, Boolean allVersions, Boolean includeStandardValuesLinks)
at Sitecore.Search.Crawlers.DatabaseCrawler.GetItemLinks(Item item)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddSpecialFields(Document document, Item item)
at Sitecore.Search.Crawlers.DatabaseCrawler.IndexVersion(Item item, Item latestVersion, IndexUpdateContext context)
at scSearchContrib.Crawler.Crawlers.AdvancedDatabaseCrawler.IndexVersion(Item item, Item latestVersion, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddItem(Item item, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddTree(Item root, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddTree(Item root, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddTree(Item root, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddTree(Item root, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddTree(Item root, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.AddTree(Item root, IndexUpdateContext context)
at Sitecore.Search.Crawlers.DatabaseCrawler.Add(IndexUpdateContext context)
at Sitecore.Search.Index.Rebuild()
at Saga.Sitecore.Web.Builder.Rebuild()
코어 데이터베이스없이 CD 환경이 작동합니까? –
예, 그렇습니다. 이것은 약 2 년 전에 행해졌 고 잘 작동했습니다. 따라서 가정하지 말아야합니다. – Trayek
CD 및 CM 환경에 동일한 .NET Framework 버전이 설치되어 있습니까? 나는. 하나는 4를 갖고 다른 하나는 4.5를 가집니까? –