一. DataDir 参数
<dataDir>/var/data/solr</dataDir>
不用 “Solr home”/data 目录,可以指定其它别的目录来存放所有索引数据。如果使用了 replication(主从复制),它可以匹配 replication 配置。如果这个目录不是绝对的,那会是当前 servlet 容器工作目录下的相对目录。
二. mainIndex
这些值用来控制合并多个索引段 <mainIndex>
<!-- lucene options specific to the main on-disk lucene index -->
<useCompoundFile>false</useCompoundFile>
<mergeFactor>10</mergeFactor>
<maxBufferedDocs>1000</maxBufferedDocs>
<maxMergeDocs>2147483647</maxMergeDocs>
<maxFieldLength>10000</maxFieldLength>
</mainIndex>
1. <useCompoundFile>
通过将很多 Lucene 内部文件整合到单一一个文件来减少使用中的文件的数量。
这可有助于减少 Solr 使用的文件句柄数目,代价是降低了性能。
除非是应用程序用完了文件句柄,否则 false 的默认值应该就已经足够。
2. mergeFactor
决定低水平的 Lucene 段被合并的频率。较小的值(最小为 2 )使用的内存较少但导致的索引时间也更慢。
较大的值可使索引时间变快但会牺牲较多的内存。
3. maxBufferedDocs
在合并内存中文档和创建新段之前,定义所需索引的最小文档数。
段是用来存储索引信息的 Lucene 文件。较大的值可使索引时间变快但会牺牲较多的内存。
4. maxMergeDocs
控制可由 Solr 最适合于具有合并的 Document 的最大数。
较小的值 (< 10 大量更新的应用程序。
该参数不允许lucene在任何索引段里包含比这个值更多的文档,
但是,多余的文档可以创建一个新的索引段进行替换。
5. maxFieldLength:
对于给定的 Document,控制可添加到 Field 的最大条目数,进而截断该文档。
如果文档可能会很大,就需要增加这个数值。然而,若将这个值设置得过高会导致内存不足错误。
6. unlockOnStartup
unlockOnStartup 告知 Solr 忽略在多线程环境中用来保护索引的锁定机制。
在某些情况下,索引可能会由于不正确的关机或其他错误而一直处于锁定,这就妨碍了添加和更新。
将其设置为 true 可以禁用启动锁定,进而允许进行添加和更新。
三 高亮插件配置
<highlighting>
<!-- Configure the standard fragmenter -->
<!-- This could most likely be commented out in the "default" case -->
<fragmenter name="gap" class="org.apache.solr.highlight.GapFragmenter" default="true">
<lst name="defaults">
<int name="hl.fragsize">100</int>
</lst>
</fragmenter>
<!-- A regular-expression-based fragmenter (f.i., for sentence extraction) -->
<fragmenter name="regex" class="org.apache.solr.highlight.RegexFragmenter">
<lst name="defaults">
<!-- slightly smaller fragsizes work better because of slop -->
<int name="hl.fragsize">70</int>
<!-- allow 50% slop on fragment sizes -->
<float name="hl.regex.slop">0.5</float>
<!-- a basic sentence pattern -->
<str name="hl.regex.pattern">[-\w ,/\n\"']{20,200}</str>
</lst>
</fragmenter>
<!-- Configure the standard formatter -->
<formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" default="true">
<lst name="defaults">
<str name="hl.simple.pre"><![CDATA[<em>]]></str>
<str name="hl.simple.post"><![CDATA[</em>]]></str>
</lst>
</formatter>
</highlighting>