• solr 6.0 没有schema.xml未自动创建schema文件


     

    solr 6.0 没有schema.xml未自动创建schema文件

    摘要:在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中,新加入了动态更新schema功能,这个默认的schema.xml确找不到了,那么managed-schema与schema.xml是什么样的关系,一起来探究一番。

    寻找缺失的schema.xml

    1. 在Solr的配置文件里,有两个文件很重要,一个是solrconfig.xml,还有一个就是schema.xml。 
      solrconfig 
      Solr6创建完core以后,默认已经生成了solrconfig.xml,但是却找不到schema.xml

    2. 在管理页面,可以看到,虽然Schema可以点击,但是内容是空的,只可以添加Filed。 
      Schema

    3. 原来,在Solr5以后,这个schema文件已经不是默认生成好的了,它被取了一个名字managed-schema,并且没有后缀。乍一看,以为是打不开的文件,当然没有什么能难倒程序员的,用Notepad++打开,发现了熟悉的文字,这不就是之前的schema.xml文件吗? 
      schema.xml

    This is the Solr schema file. This file should be named “schema.xml” and 
    should be in the conf directory under the solr home 
    (i.e. ./solr/conf/schema.xml by default) 
    or located where the classloader for the Solr webapp can find it.

    • 文档中还明确说明了,这个文档应该根据实际情况放到合适的位置,并把文件命名为schema.xml.这次我们就直接把文件名改成schema.xml就可以了,位置就是当前文件夹。 
      file

    动态更新schema.xml

    在之前的版本中,我们是可以在solr的管理页面直接查看schema.xml文件的,但是不能对其做修改,如果手动更改schema.xml文件,需要重启服务器才能生效。在现在的版本中,是可以直接编辑这个文件的,在Schema选项下,有AddField、Add Dynamic Field、Add Copy Field三个基础功能。

    如果你手动将managed-schema文件改为schema.xml,那么在重新启动以后,solr会将schema.xml改名为schema.xml.bak,并再次生成一个managed-schema文件。 
    schema.xml 
    打开这个managed-schema文件,会发现这个文件不允许修改的。 
    Do Not EDIT

    solr使用schema.xml还是managed-schema

    solr6使用<schemaFactory/>来控制使用schema的方式,默认使用的是ManagedIndexSchemaFactory,但是在solrconfig.xml文件中,这个配置没有显示的指定出来,其实它相当于

     <schemaFactory class="ManagedIndexSchemaFactory">
       <bool name="mutable">true</bool>
       <str name="managedSchemaResourceName">managed-schema</str>
     </schemaFactory>
    • mutable 是否改变Schema数据,设置为false可以防止他人更改Schema
    • managedSchemaResourceName 可以指定Schema的名字,当然值不能是schema.xml

    如果你已经熟悉了之前的配置方式,可以使用ClassicIndexSchemaFactory,只需要在solrconfig.xml文件中添加这样的配置<schemaFactory class="ClassicIndexSchemaFactory"/>即可,当然这就需要你必须配置一个schema.xml文件。

    如果你在使用SolrCloud,上述的操作应该是在ZooKeeper中完成。

  • 相关阅读:
    sparql学习sparql示例、dbpedia在线验证
    中国绿卡
    逾期率的水有多深,你知道吗?
    ICO和区块链区别
    What are the benefits to using anonymous functions instead of named functions for callbacks and parameters in JavaScript event code?
    Link static data in sql source control
    sql data compare
    viewbag
    多态的实际使用
    win10 sedlauncher.exe占用cpu处理
  • 原文地址:https://www.cnblogs.com/Lxiaojiang/p/6297281.html
Copyright © 2020-2023  润新知