什么使核心名称无效?

时间:2015-04-30 20:48:26

标签: solr

在设计核心名称的命名方案时,我尝试命名核心"搜索/直播"并在尝试启动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$1.call(CoreContainer.java:255)
    at org.apache.solr.core.CoreContainer$1.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)

显然在核心名称中使用/会使其无效。使核心名称无效的受限字符是什么?我似乎无法找到相关文档。

1 个答案:

答案 0 :(得分:2)

核心名称的有效字符似乎未记录。根据Solr 4.10.4中org.apache.solr.core.CoreContainer#registerCore(String, SolrCore, boolean)的来源,唯一无效的字符是:

  • 正斜线:/
  • 反斜杠:\

以下字符在管理界面和执行常规查询时会出现问题:

  • 冒号::