Solr 6.1 - Где находится файл управляемой схемы моей коллекции

Я использую Solr 6.1 в Windows 7.

Я вижу файлы моей коллекции из пользовательского интерфейса администратора, и там есть файл managed-schema.

Когда я пытаюсь найти (используя Notepad++) мой каталог Solr со строкой из файла управляемой схемы, он ничего не находит.

Я также пытался изменить большинство (если не все) файлов managed-schema в каталоге Solr, и мои изменения все еще не применяются после перезагрузки ядра (а также содержимое файла managed-schema в пользовательском интерфейсе администратора остается неизменным).

Может кто-нибудь объяснить мне, что это за файл, который я вижу в пользовательском интерфейсе администратора? Это реальный файл или виртуальный?

Что я пытаюсь сделать, если это имеет значение, так это сделать некоторые поля не многозначными. Кажется, Солру нравится делать их все многозначными по какой-то причине (файл managed-schema пользовательского интерфейса администратора содержит в нем немного <field name="fieldname" type="strings"/>, поэтому я думаю, что это вызывает проблему - я попробую использовать там string), поэтому я борюсь за изменение его конфигурации. Однако кажется, что имена файлов, пути к файлам и т. д. и т. д. меняются от версии к версии. Итак, я даже не могу найти путь конфигурации схемы. Очень запутанная вещь. :(

Кто-нибудь может помочь?

ИЗМЕНИТЬ:

Основываясь на том факте, что я не могу найти ни одного файла конфигурации schema.xml в своей папке Solr, я предполагаю, что этот файл сейчас не в моде... Я полагаю, нет смысла пытаться использовать такой файл в эта версия Solr...

ОБНОВЛЕНИЕ:

Покопавшись в других местах, кроме (бесполезных и вводящих в заблуждение) страниц документации Solr, я получил следующее:

https://mail-archives.apache.org/mod_mbox/lucene-solr-user/201509.mbox/%3CCAF2DzVVBH2bXRsYEoYnRvNL2TjFYdAHiJkAKCbiGAzWpiNec1Q@mail.gmail.com%3E

https://mail-archives.apache.org/mod_mbox/lucene-solr-user/201509.mbox/%3CCAN4YXvf+1A6JsuM3bsUs2Lo8Sst3HbJuihr0-Y6h4QjOr57RvQ@mail.gmail.com%3E

Итак, если это реальная документация, я думаю, мне следует сначала найти способ получить порт, который прослушивает мой зоопарк, и загрузить туда мои файлы конфигурации. Денди, за исключением того факта, что я не вижу порт ZooKepeer, указанный НИГДЕ в adminUI. Я также не устанавливал ZooKeeper. Я надеюсь, что он существует по умолчанию... :(

ОБНОВЛЕНИЕ 2:

https://wiki.apache.org/solr/SolrCloud

По умолчанию встроенный сервер Zookeeper работает на порту Solr плюс 1000, то есть 9983.

И эта информация, кажется, решает мои проблемы с работой...


person user2173353    schedule 23.06.2016    source источник


Ответы (2)


Просто переименуйте управляемую схему в schema.xml. Затем перезагрузите ядро.

Если у вас есть коллекция Solr, использующая ClassicIndexSchemaFactory, и вы хотите преобразовать ее для использования управляемой схемы, вы можете упростить изменение solrconfig.xml, указав использование ManagedIndexSchemaFactory. Как только Solr будет перезапущен и обнаружит, что файл schema.xml существует, но файл manageSchemaResourceName (то есть «управляемая-схема») не существует, существующий файл schema.xml будет переименован в schema.xml.bak, а содержимое перезаписываются в управляемый файл схемы. Если вы посмотрите на полученный файл, вы увидите это в верхней части страницы:

Пожалуйста, прочитайте внимательно.
Переход с schema.xml на управляемую схему

Альтернативой использованию управляемой схемы является явная настройка ClassicIndexSchemaFactory. ClassicIndexSchemaFactory требует использования файла конфигурации schema.xml и запрещает любые программные изменения схемы во время выполнения. Файл schema.xml необходимо редактировать вручную, и он загружается только при загрузке коллекции.

<schemaFactory class="ClassicIndexSchemaFactory"/>

https://cwiki.apache.org/confluence/display/solr/Schema+Factory+Definition+in+SolrConfig

Обновлено:

Переход на отредактированный вручную schema.xml

Если вы запустили Solr с включенной управляемой схемой и хотите переключиться на ручное редактирование файла schema.xml, вам следует выполнить следующие шаги:

  1. Переименуйте файл управляемой схемы в schema.xml. Измените solrconfig.xml, чтобы заменить класс schemaFactory.
  2. Удалите любое определение ManagedIndexSchemaFactory, если оно существует.
  3. Добавьте определение ClassicIndexSchemaFactory, как показано выше. Перезагрузите ядра.
person Oyeme    schedule 23.06.2016
comment
Я попробую это. Но: 1) Есть ли способ найти правильный путь к файлу схемы вашей коллекции? Потому что единственная папка, содержащая имя моей коллекции, это \example\cloud\node2\solr\collection1_shard1_replica1 и там нет никаких конфигов. :( 2) В чем разница между управляемой и классической схемой? Это настолько важно, что я должен переключиться на классику? Или я могу оставить управляемый и использовать <bool name="mutable">true</bool> (или что-то подобное), чтобы он работал аналогично классическому? Обновляется ли Solr автоматически? - person user2173353; 23.06.2016
comment
@user2173353 ${solr.install.dir:.} - каталог установки, solr.solr.home - все коллекции здесь. Просто откройте пользовательский интерфейс Solr, чтобы увидеть настройки. Вам следует переключиться на классический вариант, иначе вы потеряете свои изменения после перезагрузки ядра. Поскольку они будут выполнены. Solr начинает с вашего файла schema.xml и создает новый файл, который по умолчанию называется управляемой схемой для хранения всей предполагаемой схемы. Информация. Этот файл автоматически перезаписывается Solr при обнаружении изменений в схеме. Д - person Oyeme; 23.06.2016
comment
Я увидел, что solr.install.dir указывает на место, где была папка с именем моей коллекции/база и папка с именем zoo_data. Я поместил файл schema.xml в папку моего ядра (там вообще не было файла схемы), и теперь (изменить остановку Solr и перезапустить) AdminUI не работает (он отображает два красных контейнера без сообщения об ошибке). Удаление добавленного XML не решает проблему. Эта штука очень легко ломается. Я переустановлю файлы, но я все еще не уверен на 100%, что ломает мой Solr. :( - person user2173353; 23.06.2016
comment
XML был копией managed-schema и содержал только изменение для добавления <schemaFactory class="ClassicIndexSchemaFactory"/> (другой schemaFactory не был определен) и моих определений полей. Если я удалю весь XML и добавлю ТОЛЬКО определения полей и schemaFactory, будет ли это работать или я снова уничтожу Solr? :( - person user2173353; 23.06.2016
comment
Вот пути: -Dsolr.install.dir=F:\Users\me\Downloads\solr-6.1.0 -Dsolr.solr.home=F:\Users\me\Downloads\solr-6.1.0\example\cloud\node1\solr. И я поместил XML внутри ${Dsolr.solr.home}\collection1\ с именем schema.xml. - person user2173353; 23.06.2016
comment
Неа. Использование более легкого XML также разрушает Solr. Я так растерялся... Не надо, если я сделаю что-то не так при создании коллекции: я сначала удалю коллекцию по умолчанию с именем gettingstarted, а затем добавлю новое ядро ​​(на тот момент других ядер нет). Это также создает коллекцию. Все вроде нормально, пока я не поместил XML внутрь ${Dsolr.solr.home}/collection1/. Затем adminUI Solr полностью перестает работать. - person user2173353; 23.06.2016
comment
@user2173353 solr.install.dir.Dsolr.solr.home=F:\Users\me\Downloads\solr-6.1.0\example\cloud\node1\solr это правильный путь для коллекций. Просто зайдите внутрь /your_core_name/ conf/ и найдите файл управляемой схемы, затем переименуйте его в schema.xml. Затем перезапустите ядро. - person Oyeme; 23.06.2016
comment
@user2173353 user2173353 попробуйте создать новое ядро ​​с нуля и поиграть с ним. - person Oyeme; 23.06.2016
comment
Папка conf отсутствовала. Там была только папка data и файл core.properties. Добавление папки conf и XML внутри нее снова уничтожило Solr (я не могу поверить своим глазам. Solr уничтожается везде, где я помещаю этот файл :o). Кроме того, ядра, которые создаются по умолчанию (gettingstarted_shard1_replica1 и gettingstarted_shard2_replica1), также не имеют папки conf, так что странно не только мое собственное ядро. Может быть, какая-то новая тенденция в этой версии Solr? Я попробую снова... - person user2173353; 23.06.2016
comment
@user2173353 Пример основной структуры: 2.bp. blogspot.com/-zWmWPHKrmYA/URBOUoCYOLI/AAAAAAAAAA8M/ - person Oyeme; 23.06.2016
comment
Когда я настраиваю эту структуру, как на изображении, кажется, что Solr повреждается. Нет полезной информации в лог-файлах. Я также пытался создать коллекцию следующим образом: solr create -c collection1 -n collection1 -d "F:\Users\me\Downloads\solr-6.1.0\example\files\conf" указывает на существующую папку с желаемым schema.xml, и все же он использует managed-schema без указанных мной полей, а в папке моего ядра нет папки conf. Если я попытаюсь поместить папку conf в эту коллекцию, она, похоже, проигнорирует ее. И он также игнорирует исходную папку conf, которую я ему дал, так что... Ничего не работает. :( - person user2173353; 24.06.2016
comment
comment
Что было не так в моем случае, так это то, что я запускал Solr в облачном режиме, где нужно было загрузить конфигурацию в Zookeeper. :) Когда не в облачном режиме, конфигурация находится в файловой системе. - person user2173353; 20.07.2016

В Ubuntu: для версии Solr 6.6.0 коллекции хранятся в "/var/solr/data/collection_name"

person vijay    schedule 19.07.2017