Я пытаюсь изменить данные ядра Solr непосредственно из каталога «данные» по умолчанию в каталоге экземпляра. Я использую абсолютный путь, потому что мои экземпляры экземпляра Solr core и conf хранятся в другом месте (внутри моего каталога GitHub). Я думал, что это будет так легко, как указать это в core.properties:Solr: изменение каталога данных в Windows
dataDir=C:\foo\bar\my_new_data_directory
Внутри «» my_new_data_directory директории следующие директории: Solr
- index
- tlog
Я использую Windows, и я получаю следующая ошибка при запуске Solr:
ERROR - 2014-01-17 12:40:34.578; org.apache.solr.core.CoreContainer; Unable to create core: collection1
org.apache.solr.common.SolrException
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:680)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:625)
at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:557)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:592)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:271)
at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:263)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: The filename, directory name, or volume label syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
at org.apache.solr.core.StandardDirectoryFactory.normalize(StandardDirectoryFactory.java:47)
at org.apache.solr.core.DirectoryFactory.getDataHome(DirectoryFactory.java:246)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:677)
... 13 more
Похоже, что я не правильно указываю путь к файлу. Как это должно быть указано?
-Dsolr.data.dir = C: \ foo \ bar \ my_new_data_directory работает, но кажется, что это становится каталогом данных для всех ядер, и если у меня есть несколько ядер, я получаю ошибки. Есть ли способ заставить Solr заглянуть в подпапки папки данных, чтобы найти данные для каждого ядра? Пример: C: \ foo \ bar \ core1 и C: \ foo \ bar \ core2 Я пробовал метод, чтобы попытаться указать подпапки для каждого ядра, но это не сработало. –