永发信息网

solr的索引数据可以存放到数据库吗

答案:1  悬赏:70  手机版
解决时间 2021-03-29 08:31
  • 提问者网友:我一贱你就笑
  • 2021-03-29 04:34
solr的索引数据可以存放到数据库吗
最佳答案
  • 五星知识达人网友:怙棘
  • 2021-03-29 06:02
在solr与tomcat整合文章中,我用的索引库是mycore,现在就以这个为例。
首先要准备jar包:solr-dataimporthandler-4.8.1.jar、solr-dataimporthandler-extras-4.8.1.jar和mysql-connector-java-5.0.7-bin.jar这三个包到solr的tomcat的webapps\solr\WEB-INF\lib下
在这个文件夹的conf下配置两个文件,添加一个文件。先配置solrconfig.xml。
在该文件下添加一个新节点。


data-config.xml


在solrconfig.xml的同目录下创建data-config.xml。
配置:
复制代码

driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/courseman"
user="root"
password="mysql" />

query="SELECt * FROM student">








复制代码
schemal.xml的配置
复制代码














id

name



复制代码
默认的文件不是这样的,稍微改动了一下。
field 的type类型是根据fieldtype 的name定义的。class是solr自定义的不能更改。
shcema.xml文件的field字段的属性介绍:
(1)name:字段名称
(2)type:字段类型(此处type不是java类型,而是下面定义的fieldType)
(3)indexed:是否索引看true--solr会对这个字段进行索引,只有经过索引的字段才能被搜索、排序等;false--不索引
(4)stored:是否存储看true--存储,当我们需要在页面显示此字段时,应设为true,否则false。
(5)required:是否必须看true--此字段为必需,如果此字段的内容为空,会报异常;false--不是必需
(6)multiValued:此字段是否可以保存多个值看
(7)omitNorms:是否对此字段进行解析看有时候我们想通过某个字段的完全匹配来查询信息,那么设置 indexed="true"、omitNorms="true"。
(8)default:设置默认值
有这样一个FieldType描述:













属性说明:
(1)name:类型名称,中的type引用的就是这个name
(2)class:solr自定义的类型
(3)定义建立索引时使用的分词器及过滤器
(4)定义搜索时所使用的分词器及过滤器
(5)定义分词器
(6)定义过滤器
uniqueKey属性
id
类似于数据表数据的id,solr索引库中最好定义一个用于标示document唯一性的字段,此字段主要用于删除document。
defaultSearchField属性
就是你在做query搜寻时若不指定特定栏位做检索时, Solr就会只查这个栏位.
default
copyField属性
是用来复制你一个栏位里的值到另一栏位用. 如你可以将name里的东西copy到major里, 这样solr做检索时也会检索到name里的东西.

现在可以将数据库的数据导入solr了。
点击Execute就可以了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯