Что такое исправление ошибки solr «неопределенное поле _indexname» после создания пользовательского индекса в sitecore (v9.1.0)? - PullRequest
1 голос
/ 19 сентября 2019

Я создал новый пользовательский индекс с именем CUSTOM_SERVICES_INDEX, используя эту команду:

C:\solr\solr-7.2.1\bin>solr.cmd create -c [custom index name]

(cmd как администратор), затем я создал файл конфигурации с именем Sitecore.ContentSearch.Solr.Index.Master.<NAME>.config в C:\inetpub\wwwroot\killerbarber.sc\App_Config\Include, где killerbarberкорневая папка приложения.Я сделал там несколько изменений, таких как пользовательское имя индекса, идентификаторы полей и шаблонов, которые я хотел, чтобы мой индекс работал с:

click here to see the image

Следующим шагом зайдите в Sitecore> Панель управления> Диспетчер индексирования> Выберите новый пользовательский индекс, который вы только что создали> Build / Rebuild.Вы получите следующую ошибку: неопределенное поле _indexname

click here to see the image

Некоторые обходные пути предполагают, что вам необходимо проверить файл конфигурации и проверить имя индекса обычного пользователя, поле и шаблонИдентификаторы, которые вы добавили на это.Все они в полном порядке.Поскольку в описании ошибки указан код состояния 400, я связал эту проблему с некоторым вызовом API, перешел к файлу конфигурации, скопировал и вставил URL-адреса, находящиеся там подробно:

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:search="http://www.sitecore.net/xmlconfig/search/">

В моем случаеНи один из них не работал, так что я был почти уверен, что это была основная причина, но другие файлы из другого индекса уже создали те же значения, так что они вообще не были причиной.Таким образом, это исправляется, когда вы заполняете управляемую схему Solr (то же место, что и Indexing Manager).Подождите, появилась новая ошибка, эта:

click here to see the image

Не пугайтесь, вы найдете много исправлений, которые потребовали много изменений, таких как изменение стратегии syncMaster на intervalAsyncMasterили скопируйте другой индексатор, который переименовал его и т. д.

Это мое исправление, перейдите в файл схемы и измените поле uniqueKey на любое другое (_uniqueid в моем случае).Затем перезапустите Solr Service и, наконец, перезапустите IIS.После этого вы можете создать пользовательский индекс без каких-либо проблем:

click here to see the image

Вопрос, есть ли другой обходной путь для этого?Мое исправление сработало, но, возможно, есть и другие, более простые, чем эта.

С уважением

...