#solr #lucene #sitecore
#solr #lucene #sitecore
Вопрос:
Я просто настроил свою функцию поиска Solr в Sitecore, и она проиндексировала сайт. Я могу выполнить поиск и получить результаты. К сожалению, он проиндексировал СЛИШКОМ много и возвращает системные вещи, такие как шаблоны и узлы аналитики, в дереве содержимого. Я набираю такие вещи, как «system», он возвращает мне вещи в папке / system / и в других местах.
Я смог значительно сократить это, добавив шаблоны для исключения, но я бы предпочел просто сказать, чтобы он избегал 1 или двух определенных папок вместе (папка макета, системная папка и т. Д.).
Есть ли способ сделать это в конфигурации ContentSearch? Если нет, как я могу это сделать?
Спасибо!
Ответ №1:
Вы можете создать пользовательский индекс и ограничить его только тем содержимым, которое вы хотите в этом индексе, установив root
узел:
<contentSearch>
<configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch">
<indexes hint="list:AddIndex">
<index id="my_custom_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">
...
<locations hint="list:AddCrawler">
<crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">
<Database>web</Database>
<Root>/sitecore/content</Root>
</crawler>
</locations>
....
</index>
</indexes>
</configuration>
</contentSearch>
Обратите внимание, что id
для атрибута index установлено пользовательское имя индекса, а корневой узел изменен на root
узел. Приведенное выше было копией Sitecore.ContentSearch.Solr.Index.Web.config
, возможно, вам потребуется создать аналогичную для master
на основе ваших требований.
Вы можете найти дополнительную информацию об определении собственных пользовательских индексов в этом сообщении в блоге: Определение пользовательского индекса в Sitecore 7, абсолютный минимум
В качестве альтернативы, оставьте индексы по умолчанию в покое и добавьте фильтр к своему собственному поисковому запросу, чтобы ограничить /sitecore/content
только возвращаемые результаты.