solr导入数据库数据
solr是基于Luence的全文搜索引擎,它是基于web的应用,通过http的方式进行数据交互。它包括了与数据库集成、全文搜索、搜索词高亮、分组查询、地理搜索等功能。
首先,说说solr如何从数据库导入数据。
1、在core根目录下创建一个lib文件夹,将相关的数据库连接的jar放在该目录下。
2、修改solrconfig.xml文件。
新增lib引用,如下代码。第一个lib引用,是为了solr导入数据库数据所需要的包。第二个是连接数据库所需要的包。这里是以连接SQL Server数据库为例。如果需要连接MySQL,则引用连接MySQL的jar即可。
1 2 | < lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> < lib dir="./lib/" regex="sqljdbc4.jar" /> |
将<schemaFactory>改为使用ClassicIndexSchemaFactory,如下代码。这是为了能调用schema.xml
1 | < schemaFactory class="ClassicIndexSchemaFactory" /> |
添加dataimport的requestHandler,如下
1 2 3 4 5 | < requestHandler name="/dataimport" class="solr.DataImportHandler"> < lst name="defaults"> < str name="config">db-data-config.xml</ str > </ lst > </ requestHandler > |
3、配置db-data-config.xml文件
该文件是为了将数据库的字段与solr中的field做映射关系。在core的根目录新建该文件。文件类似如下:
1 2 3 4 5 6 7 8 9 10 | < dataConfig > < dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="" user="" password="" /> < document > < entity name="resource" query="select id, title, content from resource"> < field column="id" name="id" /> < field column="title" name="title" /> < field column="content" name="content" /> </ entity > </ document > </ dataConfig > |
4、配置schema.xml
将core根目录下的managed-schema文件改名schema.xml。将db-data-config.xml中使用的filed添加到该文件中。在本文试验中,在schema.xml中已有名为id的field,因此添加如下field就好了。
1 2 | < field name="title" type="text_general" indexed="true" stored="true" /> < field name="content" type="text_general" indexed="true" stored="true" /> |
现在配置已完成,重启服务,在solr的管理界面,进入dataimport界面,如下图。点击“Excute”即可导入。在导入成功后,会显示“Added/Upadted”条数,即导入的总条数。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步