提交中文数据到索引库

在配置好 schema.xml 好后,开始提交中文数据到索引库中,这里有中文示例数据:zh.zip ,将下载的压缩包解压后放在 D:\apache-solr-3.5.0\example\exampledocs 下,然后运行命令行,定位到这个目录下,运行 :

java -jar post.jar zh.xml

没有错误提示的话,打开 solr 管理页面,搜索 *:* 可以看到提交上来的中文数据。

提交和优化操作

<commit> 操作会将上一次 commit 之后的文档写到磁盘的一个或多个 segment 文件里。在一个提交之前,最近索引的内容是搜不到的。commit 操作打开了一个新的 searcher,并且促发所有配置的监听。
<optimize> 操作要求 Solr 合并内部的数据结构,这样可以提高搜索性能。一个大的索引库,索引优化会持续一段时间,优化过程,会合并一些小的 segment 文件成一个大的文件,这样减少IO,搜索性能会有所提升。如果使用 Solr 的复制机制来实现多个系统的分布式搜索,需要注意的是,索引优化之后,需要分发一个完整的索引库。
 <commit> 和<optimize> 元素接受以下可选属性:

可选属性

描述

maxSegments 默认是 1。指定将现有索引碎片合并成多少个segment
waitFlush 默认是 true,在将索引写到硬盘过程,线程阻塞。
waitSearcher 默认是 true。线程阻塞,直到一个新的searcher 打开并注册成住 searcher,这样最近修改的数据可以被搜索到。
expungeDeletes Default is false. Merges segments and removes deleted documents.默认是 false。合并 segments 并且移除删除的索引。

这里是一个 commit 和 optimize 使用可选属性的例子:

&lt;commit waitFlush=&quot;false&quot; waitSearcher=&quot;false&quot;/&gt;<br />
&lt;commit waitFlush=&quot;false&quot; waitSearcher=&quot;false&quot; expungeDeletes=&quot;true&quot;/&gt;<br />
&lt;optimize waitFlush=&quot;false&quot; waitSearcher=&quot;false&quot;/&gt;

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress