3

全文検索とスマートブログで umbraco 7.4.1 を使用しています。現在、1つの問題に直面しています。

ブログの本文から検索結果を取得できないか、ノード名からのみ検索結果を取得するページがあります。

私の設定は次のとおりです

ExamineIndex.config

    <?xml version="1.0"?>
<!-- 
Umbraco examine is an extensible indexer and search engine.
This configuration file can be extended to create your own index sets.
Index/Search providers can be defined in the UmbracoSettings.config

More information and documentation can be found on CodePlex: http://umbracoexamine.codeplex.com
-->
<ExamineLuceneIndexSets>
  <!-- The internal index set used by Umbraco back-office - DO NOT REMOVE -->
  <IndexSet SetName="InternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/{machinename}/Internal/" />
  <!-- The internal index set used by Umbraco back-office for indexing members - DO NOT REMOVE -->
  <IndexSet SetName="InternalMemberIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/{machinename}/InternalMember/">
    <IndexAttributeFields>
      <add Name="id" />
      <add Name="nodeName" />
      <add Name="updateDate" />
      <add Name="writerName" />
      <add Name="loginName" />
      <add Name="email" />
      <add Name="nodeTypeAlias" />
    </IndexAttributeFields>
  </IndexSet>
  <!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
  <IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/{machinename}/External/" />
  <IndexSet SetName="FullTextIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/FullText/">
    <IndexAttributeFields>
      <add Name="id" />
      <add Name="nodeName" />
      <add Name="nodeTypeAlias" />
    </IndexAttributeFields>
    <IndexUserFields>
      <add Name="smartBlogBody" />
      <add Name="smartBlogSummary" />
      <add Name="smartBlogTitle" />
      <add Name="test" />
    </IndexUserFields>
    <IncludeNodeTypes />
    <ExcludeNodeTypes />
  </IndexSet>
</ExamineLuceneIndexSets>

ExamineSettings.config

<?xml version="1.0"?>
<!-- 
Umbraco examine is an extensible indexer and search engine.
This configuration file can be extended to add your own search/index providers.
Index sets can be defined in the ExamineIndex.config if you're using the standard provider model.

More information and documentation can be found on CodePlex: http://umbracoexamine.codeplex.com
-->
<Examine>
  <ExamineIndexProviders>
    <providers>
      <add name="InternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine" supportUnpublished="true" supportProtected="true" analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net" />
      <add name="InternalMemberIndexer" type="UmbracoExamine.UmbracoMemberIndexer, UmbracoExamine" supportUnpublished="true" supportProtected="true" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" />
      <!-- default external indexer, which excludes protected and unpublished pages-->
      <add name="ExternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine" />
      <add name="FullTextIndexer" type="Governor.Umbraco.FullTextSearch.Providers.FullTextContentIndexer, Governor.Umbraco.FullTextSearch" runAsync="true" supportUnpublished="false" supportProtected="false" interval="10" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" enableDefaultEventHandler="true" indexSet="FullTextIndexSet" />

    </providers>
  </ExamineIndexProviders>
  <ExamineSearchProviders defaultProvider="ExternalSearcher">
    <providers>
      <add name="InternalSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net" />
      <add name="ExternalSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" />
      <add name="InternalMemberSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" enableLeadingWildcard="true" />
      <add name="FullTextSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" indexSet="FullTextIndexSet" />
    </providers>
  </ExamineSearchProviders>
</Examine>

FullTextSearch.config

<?xml version="1.0" encoding="utf-8" ?>
<FullTextSearch>
    <!-- Enable Full Text Indexing/Search -->
    <Enabled>false</Enabled>
    <!-- Indexing Options-->
    <!-- 
        This setting controls when pages are actually rendered to HTML and stored/indexed

        This defaults to false. Rendering will be performed at indexing time. 

        Set this to true to render nodes to HTML on umbraco publishing events and store in a 
        database cache for indexing, rather than attempt to read the nodes at indexing 
        time(which can be less reliable).
        The advantage of rendering at indexing time is that publishing will be quicker, 
        and you won't have to republish the entire site before the index is created 
        properly.
        Possible values:
            true - Render HTML at publishing time
                Note: Indexing must be set to run async in ExamineSettings.config if you set this to true

            false - Render HTML at indexing time (default)

        Note that if you're overriding renderers from your own code 
        this affects whether or not your renderer can use the umbraco NodeFactory API
    -->
    <PublishEventRendering>false</PublishEventRendering>

    <!--
        This controls which renderer is used to render nodes to HTML
            Program - Renders nodes using a modified version of umbraco's 
                      RenderTemplate functionality. 
                      Only works if PublishEventRendering is set to true
            HTTP - Render nodes using HttpWebRequests (default)
    -->
    <DefaultRenderer>HTTP</DefaultRenderer>
    <!-- 
        Needed for HTTP Rendering, determines 
        URL of the default.aspx page on your host. I recommend you use
        127.0.0.1 and set the host header below to your domain to avoid 
        problems with name resolution, firewalls, etc. 
    -->
    <HttpUrl>http://127.0.0.1:61434/default.aspx</HttpUrl>;
    <!-- Domain name of your site e.g. www.yoursite.com -->
    <HttpHost></HttpHost>
    <!-- Indexing request timout in seconds -->
    <HttpTimeout>120</HttpTimeout>
    <!-- The name of the Search Provider set up in ExamineSettings.config-->
    <SearchProvider>FullTextSearcher</SearchProvider>
    <!-- The name of the Index Provider set up in ExamineSettings.config-->
    <IndexProvider>FullTextIndexer</IndexProvider>
    <!--
        Full text indexing will be disabled for these node types.
        Note that full text indexing is not run for nodes without
        a template anyway. 
        To disable all indexing for a given node type use ExcludeNodeTypes
        in ExamineIndex.config
    -->
    <NoFullTextNodeTypes>
        <add name="searchPage" />
    </NoFullTextNodeTypes>

    <!-- 
        Setting any of the properties under here to true for a given
        Node will disable All indexing on that page.
    -->
    <DisableSearchPropertyNames>
        <add name="umbracoSearchHide" />
    </DisableSearchPropertyNames>
    <!--
        This string is passed to every page index<hed 
        by the indexer in the query string, or as a cookie
        depending on the rendering method selected.
        e.g. http://yoursite.com/page.aspx?FullTextActive=1
        The intention of this is for you to use the supplied
        XSLT helper function fulltextsearch.search:IsIndexingActive
        which returns true if this parameter is specified in 
        the query string or by cookie.
    -->
    <SearchActiveStringName>FullTextActive</SearchActiveStringName>

    <!-- Cutomise HTML Tag Stripper here -->
    <TagsToRemove>
        <add name="script" />
        <add name="head" />
    </TagsToRemove>
    <IdsToRemove>
        <add name="mainNavigation" />
    </IdsToRemove>

    <!-- Override default IIS timeout on publishing requests, value in seconds -->
    <ScriptTimeout>1200</ScriptTimeout>


    <!-- Name of the full text index in lucene, don't change unless you need to -->
    <LuceneFTField>FullTextSearch</LuceneFTField>

    <!-- 
        The query generated for Lucene boosts the relevance of the title properties, 
        if specified. This controls by how much.
    -->
    <SearchTitleBoost>10.0</SearchTitleBoost>
    <!--
        By default the Search XSLT Helper returns all fields from the
        index for users to modify. Set to false to return only summary fields. 
    -->
    <ReturnAllFieldsInXSLT>true</ReturnAllFieldsInXSLT>
</FullTextSearch>

そしてコンテンツ構造

コンテンツ構造

これを解決する方法はありますか?

よろしく、

4

1 に答える 1

0

インデックスが実際に生成されていることを確認できますか? は、次の場所にあります。

ROOT > App_Data > Temp > ExamineIndexes

インデックス セットの名前が付いたフォルダが表示されますか?

このフォルダが空の場合、構成のどこかにタイプミスがある可能性があります。

これに失敗した場合は、ExamineIndexes フォルダーを削除してサイトを再起動し、Umbraco にそれらをすべて再生成させることができます。

それがどうなるか教えてください。

よろしく

クレイグ

于 2016-10-12T09:46:19.140 に答える