是什么导致无效的核心名称?
What makes an invalid core name?
在为核心名称设计命名方案时,我尝试命名一个核心 "search/live" 并在尝试启动 solr 时收到此异常:
java.lang.RuntimeException: Invalid core name: search/live
at org.apache.solr.core.CoreContainer.registerCore(CoreContainer.java:411)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:499)
at org.apache.solr.core.CoreContainer.call(CoreContainer.java:255)
at org.apache.solr.core.CoreContainer.call(CoreContainer.java:249)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
显然在核心名称中使用 /
会使它无效。使核心名称无效的受限字符是什么?我似乎找不到任何关于此的文档。
核心名称的有效字符似乎没有记录。根据 Solr 4.10.4 中 org.apache.solr.core.CoreContainer#registerCore(String, SolrCore, boolean)
的来源,唯一无效的字符是:
- 正斜杠:
/
- 反斜杠:
\
以下字符会导致管理界面和执行一般查询时出现问题:
- 冒号:
:
在为核心名称设计命名方案时,我尝试命名一个核心 "search/live" 并在尝试启动 solr 时收到此异常:
java.lang.RuntimeException: Invalid core name: search/live
at org.apache.solr.core.CoreContainer.registerCore(CoreContainer.java:411)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:499)
at org.apache.solr.core.CoreContainer.call(CoreContainer.java:255)
at org.apache.solr.core.CoreContainer.call(CoreContainer.java:249)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
显然在核心名称中使用 /
会使它无效。使核心名称无效的受限字符是什么?我似乎找不到任何关于此的文档。
核心名称的有效字符似乎没有记录。根据 Solr 4.10.4 中 org.apache.solr.core.CoreContainer#registerCore(String, SolrCore, boolean)
的来源,唯一无效的字符是:
- 正斜杠:
/
- 反斜杠:
\
以下字符会导致管理界面和执行一般查询时出现问题:
- 冒号:
: