千家信息网

solrconfig.xml配置的示例分析

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,小编给大家分享一下solrconfig.xml配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!solrconf
千家信息网最后更新 2024年09月22日solrconfig.xml配置的示例分析

小编给大家分享一下solrconfig.xml配置的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

solrconfig.xml配置文件主要定义了SOLR的一些处理规则,包括索引数据的存放位置,更新,删除,查询的一些规则配置。

可以在tomcat的安装路径下找到这个文件C:\Program Files\Apache Software Foundation\Tomcat 8.0\solr\collection1\conf

1.datadir节点

1.${solr.data.dir:d:/Server/Solr/data}定义了索引数据和日志文件的存放位置

2.luceneMatchVersion

4.8

表示solr底层使用的是lucene4.8

3. lib

表示solr引用包的位置,当dir对应的目录不存在时候,会忽略此属性

4.directoryFactory

索引存储方案,共有以下存储方案

1、solr.StandardDirectoryFactory,这是一个基于文件系统存储目录的工厂,它会试图选择最好的实现基于你当前的操作系统和Java虚拟机版本。
2、solr.SimpleFSDirectoryFactory,适用于小型应用程序,不支持大数据和多线程。
3、solr.NIOFSDirectoryFactory,适用于多线程环境,但是不适用在windows平台(很慢),是因为JVM还存在bug。
4、solr.MMapDirectoryFactory,这个是solr3.1到4.0版本在linux64位系统下默认的实现。它是通过使用虚拟内存和内核特性调用

mmap去访问存储在磁盘中的索引文件。它允许lucene或solr直接访问I/O缓存。如果不需要近实时搜索功能,使用此工厂是个不错的方案。
5、solr.NRTCachingDirectoryFactory,此工厂设计目的是存储部分索引在内存中,从而加快了近实时搜索的速度。
6、solr.RAMDirectoryFactory,这是一个内存存储方案,不能持久化存储,在系统重启或服务器crash时数据会丢失。且不支持索引复制

   ${solr.hdfs.home:}   ${solr.hdfs.confdir:}   ${solr.hdfs.blockcache.enabled:true}   ${solr.hdfs.blockcache.global:true}

5. codecFactory
编解码工厂允许使用自定义的编解码器。例如:如果想启动per-field DocValues格式, 可以在solrconfig.xml里面设置SchemaCodecFactory:
docValuesFormat="Lucene42": 这是默认设置,所有数据会被加载到堆内存中。
docValuesFormat="Disk": 这是另外一个实现,将部分数据存储在磁盘上。
docValuesFormat="SimpleText": 文本格式,非常慢,用于学习。


6.indexconfig节点

用于设置索引的低级别的属性

1、//限制token最大长度
2、1000//IndexWriter等待解锁的最长时间(毫秒)。
3、8//
4、false//solr默认为false。如果为true,索引文件减少,检索性能降低,追求平衡。
5、100//缓存
6、1000//同上。两个同时定义时命中较低的那个。
7、
10
10

//合并策略。
8、10//合并因子,每次合并多少个segments。
9、//合并调度器。
10、${solr.lock.type:native}//锁工厂。
11、false//是否启动时先解锁。
12、128//Lucene loads terms into memory 间隔
13、true//重新打开,替代先关闭-再打开。
14、//提交删除策略,必须实现org.apache.lucene.index.IndexDeletionPolicy
15、1
16、0
17、30MINUTES OR 1DAY
   

  18、 false//相当于把创建索引时的日志输出。

${solr.lock.type:native}
设置索引库的锁方式,主要有三种:
1.single:适用于只读的索引库,即索引库是定死的,不会再更改
2.native:使用本地操作系统的文件锁方式,不能用于多个solr服务共用同一个索引库。Solr3.6 及后期版本使用的默认锁机制。
3.simple:使用简单的文件锁机制

7. updateHandler节点

定义更新处理器,

   ${solr.ulog.dir:}   

设置索引库更新日志,默认路径为solr home下面的data/tlog。随着索引库的频繁更新,tlog文件会越来越大,

所以建议提交索引时采用硬提交方式,即批量提交。

   15000   10000   false   

自动硬提交方式:maxTime:设置多长时间提交一次maxDocs:设置达到多少文档提交一次openSearcher:文档提交后是否开启新的searcher,

如果false,文档只是提交到index索引库,搜索结果中搜不到此次提交的文档;如果true,既提交到index索引库,也能在搜索结果中搜到此次提交的内容。

               ${solr.ulog.dir:}                     15000        false                           exe--可执行的文件类型   dir--可以用该目录做为当前的工作目录。默认为"."   wait--调用线程要等到可执行的返回值   args--传递给程序的参数 默认nothing   env--环境变量的设置 默认nothing  


8.Query查询节点

1024
设置boolean 查询中,最大条件数。在范围搜索或者前缀搜索时,会产生大量的 boolean 条件,
如果条件数达到这个数值时,将抛出异常,限制这个条件数,可以防止条件过多查询等待时间过长。
缓存方法http://www.cnblogs.com/phinecos/archive/2012/05/24/2517018.html

2002


9.Request Dispatcher

请求转发器

                                     


10.requestHandler

请求处理器

                         explicit        10        text                                         

以上是"solrconfig.xml配置的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0