Solr 6.1 - 我的集合的`managed-schema`文件在哪里

use*_*353 5 solr solr6

我在Windows 7上使用Solr 6.1.

我从管理界面UI看到了我的收藏文件,里面有一个managed-schema文件.

当我尝试搜索(使用Notepad ++)我的Solr目录,其中包含来自托管模式文件的一行时,它什么都没找到.

我还尝试更改managed-schemaSolr目录中的大多数(如果不是全部)文件,并且在重新加载核心后仍然没有应用我的更改(并且managed-schema管理UI中的文件内容保持不变).

有人可以向我解释一下我在管理界面UI中看到的这个文件是什么?它是真实文件还是虚拟文件?

我尝试做什么 - 如果重要 - 是让一些字段不是多值的.似乎Solr喜欢因为某种原因使它们全部变为多值(管理UI的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/

https://mail-archives.apache.org/mod_mbox/lucene-solr-user/201509.mbox/

所以,如果那是真正的文档,我想我应该首先找到一种方法来获取我的zookeeper正在监听的端口并在那里上传我的配置文件.Dandy,除了我没有在adminUI中看到ZooKepeer端口在ANYWHERE中列出的事实.我也没有设置任何ZooKeeper.我希望一个默认存在... :(

更新2:

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

默认情况下,嵌入式Zookeeper服务器在Solr端口加上1000运行,因此9983.

这些信息似乎解决了我的工作问题......

Oye*_*eme 8

只需将managed-schema重命名为schema.xml即可. 然后重新加载核心.

如果您有一个使用ClassicIndexSchemaFactory的现有Solr集合,并且希望转换为使用托管架构,则可以简化修改solrconfig.xml以指定ManagedIndexSchemaFactory的使用.重新启动Solr并检测到schema.xml文件存在,但managedSchemaResourceName文件(即:"managed-schema")不存在时,现有的schema.xml文件将重命名为schema.xml.bak及其内容被重写到托管模式文件.如果您查看生成的文件,您将在页面顶部看到:

请仔细阅读.
从schema.xml切换到托管架构

使用托管架构的替代方法是显式配置ClassicIndexSchemaFactory.ClassicIndexSchemaFactory需要使用schema.xml配置文件,并且不允许在运行时对Schema进行任何编程更改.schema.xml文件必须手动编辑,并且仅在加载集合时才加载.

<schemaFactory class="ClassicIndexSchemaFactory"/>
Run Code Online (Sandbox Code Playgroud)

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

更新:

更改为手动编辑的schema.xml

如果已启用Solr并启用了托管架构,并且您希望切换到手动编辑schema.xml文件,则应执行以下步骤:

  1. 将managed-schema文件重命名为schema.xml.修改solrconfig.xml以替换schemaFactory类.
  2. 删除任何ManagedIndexSchemaFactory定义(如果存在)
  3. 添加ClassicIndexSchemaFactory定义,如上所示重新加载核心.