solr 5.0以后 没有schema.xml未自动创建schema文件
2017-05-11 11:32
579 查看
摘要:在之前的Solr版本中(Solr5之前),在创建core的时候,Solr会自动创建好schema.xml,但是在之后的版本中,新加入了动态更新schema功能,这个默认的schema.xml确找不到了,那么managed-schema与schema.xml是什么样的关系,一起来探究一番。
Solr6创建完core以后,默认已经生成了
在管理页面,可以看到,虽然Schema可以点击,但是内容是空的,只可以添加Filed。
原来,在Solr5以后,这个schema文件已经不是默认生成好的了,它被取了一个名字
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.
文档中还明确说明了,这个文档应该根据实际情况放到合适的位置,并把文件命名为
如果你手动将
打开这个
mutable 是否改变Schema数据,设置为false可以防止他人更改Schema
managedSchemaResourceName 可以指定Schema的名字,当然值不能是
如果你已经熟悉了之前的配置方式,可以使用
如果你在使用SolrCloud,上述的操作应该是在ZooKeeper中完成。
文章原文:http://www.cnblogs.com/Lxiaojiang/p/6297281.html
寻找缺失的schema.xml
在Solr的配置文件里,有两个文件很重要,一个是solrconfig.xml,还有一个就是
schema.xml。
Solr6创建完core以后,默认已经生成了
solrconfig.xml,但是却找不到
schema.xml。
在管理页面,可以看到,虽然Schema可以点击,但是内容是空的,只可以添加Filed。
原来,在Solr5以后,这个schema文件已经不是默认生成好的了,它被取了一个名字
managed-schema,并且没有后缀。乍一看,以为是打不开的文件,当然没有什么能难倒程序员的,用Notepad++打开,发现了熟悉的文字,这不就是之前的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就可以了,位置就是当前文件夹。
动态更新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文件。
打开这个
managed-schema文件,会发现这个文件不允许修改的。
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中完成。
文章原文:http://www.cnblogs.com/Lxiaojiang/p/6297281.html
相关文章推荐
- solr 6.0 没有schema.xml未自动创建schema文件
- solr 6.0 没有schema.xml未自动创建schema文件
- solr 6.0 没有schema.xml未自动创建schema文件
- 如何让新版的javaEE自动创建web.xml文件
- solr学习(3.2)-Solr配置文件schema.xml和solrconfig.xml分析
- Solr配置文件schema.xml和solrconfig.xml分析
- XML配置文件导入dtd文件仍然没有自动提示问题的解决
- Solr中配置文件schema.xml之copyField 与multiValued用途
- Eclipse中为什么创建DynamicWebProject后没有默认的web.xml文件?
- Solr03-schema.xml文件详细说明
- Solr 配置文件之schema.xml
- myeclipse写xml文件时,属性值没有自动提示的解决办法
- Eclipse中为什么创建DynamicWebProject后没有默认的web.xml文件?
- Solr 配置文件之schema.xml
- eclipse 的xml引用自己写的schema文件有自动代码提示
- 在eclipse中创建的web工程没有web.xml文件
- Solr索引库l配置文件schema.xml讲解
- ssh整合思想 Spring与Hibernate的整合ssh整合相关JAR包下载 .MySQLDialect添加了第57区的方言解决没有异常,hibernate.dialect核心配置文件就是无法自动update创建表
- 【solr专题之二】配置文件:solr.xml solrConfig.xml schema.xml
- (搜索引擎之solr) schema.xml 配置文件说明