Tridion搜索不起作用

时间:2012-11-22 08:19:40

标签: tridion tridion-2011

在从Tridion 5.3 SP1升级到Tridion 2011 SP1的过程中,我们按照安装手册中的说明配置了搜索服务。

当我们尝试在整个内容中搜索“.aspx”字时,它会给出错误。

(80040356) The remote server returned an error: (404) Not Found.Unable to get the list of search results.Error occured while processing the request: Not Found.
System.Net.HttpWebRequest.GetResponse()
Tridion.ContentManager.Search.SolrClient.ProcessResponse(HttpWebRequest,Boolean,Boolean,String&)
Tridion.ContentManager.Search.SolrClient.Post(String,String,String&)
Tridion.ContentManager.Search.SolrClient.Query(String,Int32,Nullable`1,String&)
Tridion.ContentManager.Search.SearchQueryEngine.GetSearchResultsFromSolr(SearchQueryData,Int32,Nullable`1)
Tridion.ContentManager.Search.SearchQueryEngine.GetSearchResultsFromSolr(SearchQueryData,Int32,Nullable`1)
Tridion.ContentManager.Search.SearchQueryEngine.GetSearchResults(SearchQueryData,Int32,Int32)
Tridion.ContentManager.Search.ComWrapper.SearchQueryEngineFacade.GetSearchResults(Int32,Int32)
SearchBLST.GetListData
SearchBLST.GetSearchResults
SearchBLST.GetSearchResultsEx
Search.GetSearchResultsEx

我们如何解决问题?

 <configuration>
  <configSections>
    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53"/>
    <section name="tridionConfigSections" type="Tridion.Configuration.ConfigurationSections, Tridion.Common, Version=6.1.0.25, Culture=neutral, PublicKeyToken=349a39f202fa9b53"/>
    <section name="tridion.common" type="Tridion.Configuration.CommonSettings, Tridion.Common, Version=6.1.0.25, Culture=neutral, PublicKeyToken=349a39f202fa9b53"/>
    <section name="solrHost" type="Tridion.ContentManager.Search.SearchHost.Configuration.SolrHostConfiguration, TcmSearchHost, Version=6.1.0.996, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b"/>
  </configSections>
  <configProtectedData>
    <providers>
      <add name="TridionRsaProtectedConfigurationProvider" keyContainerName="TridionRsaKeyContainer" useMachineContainer="true" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" type="System.Configuration.RsaProtectedConfigurationProvider, 
           System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </providers>
  </configProtectedData>
  <tridionConfigSections>
    <sections>
      <clear/>
      <add/>
      <add name="loggingConfiguration"/>
    </sections>
  </tridionConfigSections>
  <tridion.common>
    <tracing enabled="false">
      <parameterValueTruncation default="50">
        <parameterTypes>
          <clear/>
          <!-- Do not remove or change the settings for type System.Data.IDataRecord -->
          <add type="System.Data.IDataRecord" assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" maxLength="0"/>
        </parameterTypes>
      </parameterValueTruncation>
    </tracing>
  </tridion.common>
  <loggingConfiguration name="Logging Application Block" tracingEnabled="false" defaultCategory="General" logWarningsWhenNoCategoriesMatch="false">
    <listeners>
      <add name="Tridion Console Trace Listener" formatter="Trace Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.CustomTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53" traceOutputOptions="None" type="Tridion.Logging.TridionConsoleTraceListener, Tridion.Logging, Version=6.1.0.25, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b" initializeData=""/>
      <add name="Tridion Debug Trace Listener" formatter="Trace Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.CustomTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53" traceOutputOptions="None" type="Tridion.Logging.TridionDebugTraceListener, Tridion.Logging, Version=6.1.0.25, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b" initializeData=""/>
      <add name="Tridion Event Log" EventLog="Tridion" formatter="Event Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.CustomTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53" traceOutputOptions="None" type="Tridion.Logging.TridionEventLogTraceListener, Tridion.Logging, Version=6.1.0.25, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b" initializeData=""/>
      <add name="Log File" formatter="Trace Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53" traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53" fileName="D:\Tridion\log\TcmSearchHost.log"/>
      <add name="Trace File" formatter="Trace Text Formatter" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53" traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53" fileName="D:\Tridion\log\TcmSearchHost.trace.log"/>
    </listeners>
    <formatters>
      <add name="Log Text Formatter" template="{timestamp} &lt;{win32ThreadId}&gt; {message}" type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53"/>
      <add name="Trace Text Formatter" template="{timestamp(HH:mm:ss.ffff)} &lt;{win32ThreadId}&gt; {message}" type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53"/>
      <add name="Event Text Formatter" template="{message}

Component: {keyvalue(component)}
Errorcode: {keyvalue(errorcode)}
User: {keyvalue(username)}

{keyvalue(stacktrace)}" type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=349a39f202fa9b53"/>
    </formatters>
    <categorySources>
      <add switchValue="All" name="Tridion.Logging.LoggingCategory.Tracing">
        <listeners>
          <add name="Trace File"/>
        </listeners>
      </add>
      <add switchValue="All" name="Tridion.ContentManager.Search.SearchHost.LogCategory">
        <listeners>
          <!--add name="Tridion Console Trace Listener"/-->
        </listeners>
      </add>
      <add switchValue="All" name="General"/>
    </categorySources>
    <specialSources>
      <allEvents switchValue="Information" name="All Events">
        <listeners>
          <add name="Tridion Event Log"/>
        </listeners>
      </allEvents>
      <notProcessed switchValue="All" name="Unprocessed Category"/>
      <errors switchValue="All" name="Logging Errors &amp; Warnings"/>
    </specialSources>
  </loggingConfiguration>
  <!--To configure this Solr Instance as Master enable this solrHost xml node and disbale the other solrHost xml node-->
  <!--<solrHost heartbeatTimeout="300" solrHome="%TRIDION_CM_HOME%\Libraries\solr-home" solrDataDir="%TRIDION_CM_HOME%\Search\solr-data" solrLogDir="%TRIDION_CM_HOME%\Log" jvmOptions="-Xmx768m -Xms768m -XX:MaxDirectMemorySize=1024m -Dfile.encoding=UTF-8 -Djava.security.auth.login.config=conf/jaaslogin.conf -Djava.security.auth.policy=conf/jaas.policy -Dlog4j.configuration=file:conf\log4j.properties -Djava.class.path=start.jar;lib\* -Duser.language=en -Duser.country=US -Denable.master=true" jvmFilePath="">-->
  <!--To configure this Solr Instance as slave enable this solrHost xml node and disbale the other solrHost xml node. Set the -Dmaster.url, -Dmaster.authUser="MASTER_SOLR_INSTANCE_USER_NAME" and -Dmaster.authPassword-->
  <!--<solrHost heartbeatTimeout="300" solrHome="%TRIDION_CM_HOME%\Libraries\solr-home" solrDataDir="%TRIDION_CM_HOME%\Search\solr-data" solrLogDir="%TRIDION_CM_HOME%\Log" jvmOptions="-Xmx768m -Xms768m -XX:MaxDirectMemorySize=1024m -Dfile.encoding=UTF-8 -Djava.security.auth.login.config=conf/jaaslogin.conf -Djava.security.auth.policy=conf/jaas.policy -Dlog4j.configuration=file:conf\log4j.properties -Djava.class.path=start.jar;lib\* -Duser.language=en -Duser.country=US -Denable.slave=true -Dmaster.url=MASTER_SOLR_INSTANCE_URL -Dmaster.authUser=MASTER_SOLR_INSTANCE_USER_NAME -Dmaster.authPassword=MASTER_SOLR_INSTANCE_PASSWORD" jvmFilePath="">-->
  <solrHost heartbeatTimeout="300" jvmOptions="-Xmx768m -Xms768m -XX:MaxDirectMemorySize=1024m -Dfile.encoding=UTF-8 -Djava.security.auth.login.config=conf/jaaslogin.conf -Djava.security.auth.policy=conf/jaas.policy -Dlog4j.configuration=file:conf\log4j.properties -Djava.class.path=start.jar;lib\* -Duser.language=en -Duser.country=US" jvmFilePath="" solrHome="D:\Tridion\solr-home\" solrDataDir="D:\Tridion\solr-data\" solrLogDir="D:\Tridion\log\">
    <jetty port="8983" stopControlKey="#SdlTridionJettySolrKey#" stopControlPort="8079" mainClassName="org/mortbay/start/Main" jettyConfigurationArguments="conf\jetty-jmx.xml conf\jetty.xml conf\jetty-logging.xml" home="D:\Tridion\solr-jetty\" tempDir="C:\Windows\TEMP\" logDirectory="D:\Tridion\log\"/>
  </solrHost>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
  <runtime>
    <!--Enable Server GC mode for better performance in CLR 4.0. Note that this may lead to memory issues in CLR 2.0.-->
    <gcServer enabled="true"/>
  </runtime>
</configuration>

1 个答案:

答案 0 :(得分:6)

要对搜索进行问题排查,我首先要尝试的是搜索不同的搜索字词,看看它们是否都返回相同的结果(在您的情况下出错)。

接下来检查Tridion Content Manager Search Host服务和Tridion Content Manager Search Indexer服务是否正在运行。如果是,请查看是否重新启动它们会对情况做出任何改变。

当我的Tridion Content Manager Search Host服务停止时,我收到一个不同的错误,表明无法建立连接。所以我的想法会出现配置错误(那里提到的404让我想知道SOLR是否安装正确)。检查MMC管理单元中的设置,并检查(如提及的@robrtc)是否可以按照upgrade manual

中的说明运行reindex