Solr8.11.2 自动增量索引
时间: 2023-09-15 16:17:57 浏览: 223
Solr 8.11.2 支持自动增量索引,也称为实时获取。它是一种用于快速索引新增、更新和删除文档的方法,可以在文档添加、更新或删除后立即反映到索引中。
要配置自动增量索引,请按照以下步骤操作:
1. 在 solrconfig.xml 文件中添加以下配置:
```
<updateLog>
<str name="dir">${solr.ulog.dir:}</str>
<int name="numVersionBuckets">65536</int>
<int name="autoCommitMaxTime">15000</int>
<int name="openSearcher">false</int>
<int name="maxBufferedOps">1000</int>
<int name="maxDocsInRam">5000</int>
<bool name="useColdSearcher">false</bool>
<str name="maxMutationsInFlight">512</str>
<bool name="softCommit">false</bool>
<bool name="waitSearcher">false</bool>
<bool name="realtime">true</bool>
</updateLog>
```
2. 在 schema.xml 文件中定义唯一键(id)。例如:
```
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
```
3. 在 solrconfig.xml 文件中配置 dataimport 搜索处理程序(handler)以自动获取数据。例如:
```
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
```
4. 在 data-config.xml 文件中定义数据源和索引。例如:
```
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/mydb" user="root" password="password" />
<document>
<entity name="mytable" pk="id" transformer="RegexTransformer" query="SELECT * FROM mytable">
<field column="id" name="id" />
<field column="title" name="title" />
<field column="description" name="description" />
</entity>
</document>
</dataConfig>
```
5. 运行 Solr 服务器并访问 /dataimport 页面,以开始自动增量索引。
注意:自动增量索引需要 SolrCloud 或者一个单独的 Solr 节点,并且需要使用 Solr 的事务日志(transaction log)来实现。
阅读全文