Поиск по сайту: новое поле шаблона не включено в поисковый индекс - PullRequest
1 голос
/ 09 сентября 2011

У меня есть существующий веб-сайт с поиском lucene, который работает совершенно адекватно, однако, поскольку добавление нового поля (называемого «Контент») в мой базовый шаблон (шаблон, от которого наследуются все другие шаблоны страниц), кажется невозможнымдля поиска по этому новому полю.

Я попытался выполнить следующее:

  • , выполняя «умную публикацию»
  • Перестроение поискового индекса с панели управления вРабочий стол Sitecore
  • , добавив настройку <IndexAllFields>true</IndexAllFields> в соответствующий раздел моего web.config

, но мне не повезло.Для справочной информации здесь приведен фрагмент моего файла web.config, в который я добавил элемент <IndexAllFields>.(этот фрагмент находится под configuration\sitecore\search)

  <configuration type="Sitecore.Search.SearchConfiguration, Sitecore.Kernel" singleInstance="true">
    <indexes hint="list:AddIndex">
      <index id="system" type="Sitecore.Search.Index, Sitecore.Kernel">
        <param desc="name">$(id)</param>
        <param desc="folder">__system</param>
        <Analyzer ref="search/analyzer"/>
        <locations hint="list:AddCrawler">
          <core type="Sitecore.Search.Crawlers.DatabaseCrawler,Sitecore.Kernel">
            <Database>core</Database>
            <Root>/sitecore/content</Root>
            <include hint="list:IncludeTemplate">
              <application>{EB06CEC0-5E2D-4DC4-875B-01ADCC577D13}</application>
            </include>
            <Tags>application</Tags>
            <Boost>2.0</Boost>
          </core>
          <core-controlpanel type="Sitecore.Search.Crawlers.DatabaseCrawler,Sitecore.Kernel">
            <Database>core</Database>
            <Root>/sitecore/content/applications/control panel</Root>
            <include hint="list:IncludeTemplate">
              <taskoption>{BDB6FA46-2F76-4BDE-8138-52B56C2FC47E}</taskoption>
            </include>
            <Tags>taskoption</Tags>
            <Boost>1.9</Boost>
          </core-controlpanel>
          <master type="Sitecore.Search.Crawlers.DatabaseCrawler, Sitecore.Kernel">
            <Database>master</Database>
            <Tags>master content</Tags>
            <IndexAllFields>true</IndexAllFields>
          </master>
        </locations>
      </index>
    </indexes>
  </configuration>

1 Ответ

0 голосов
/ 15 сентября 2011

Я обнаружил, что если искомый текст содержится в однострочном текстовом поле, вам необходимо добавить следующее в ваш файл web.config в файле configuration \ sitecore \ indexes \ index \ fields:

<type storage="unstored" stripTags="true">single-line text</type>

Кроме того, элемент <IndexAllFields>true</IndexAllFields> применим только к API поиска в новом стиле.

...