四、Solr索引库说明及创建
4.1 solr管理页面去创建【不推荐!!!】
1.使用solr管理页面去创建【不推荐!!!】
2.打开solr的管理页面
3.点击add Core
name:自定义名字 建议和instanceDir目录保持一样
instanceDir:实例名称 一般和name一样
dataDir:默认的默认数据存储目录 一般data
config 指写配置文件 db1-core/conf/solrconfig.xml
schema:指定属性的xml 默认为db1-conre/conf/managed-schema文件
4.但是会报错!!!!!!!!!!!!!!!!
查看usr/local/server/solr/
5.解决问题:
进入db1-core这个目录发现里面啥都没有
执行下面的命令解决默认配置问题不存在的问题 cp -r ../configsets/sample_techproducts_configs/* ./
回到solr管理台
add core
4.2 命令创建【推荐】
1.进入solr的/bin目录
2.执行创建命令
./solr create_core -c db2-core -force
3.查看server/solr/
4.页面查看
五、Solr控制台说明-主面板
5.1,Dashboard(仪表盘)
访问 http://www.leige.plus:8983/solr时,出现该主页面,可查看到solr运行时间、solr版本,系统内存、虚拟机内存的使用情况
这里的图片描述
5.2.Logging(日志)
显示solr运行出现的异常或错误
5.3.Core Admin (core管理)
主要有Add Core(添加核心), Unload(卸载核心),Rename(重命名核心),Reload(重新加载核心),Optimize(优化索引库)
Add Core是添加core:主要是在instanceDir对应的文件夹里生成一个core.properties文件
name:给core起的名字;
instanceDir:与我们在配置solr到tomcat里时的solr_home里新建的core文件夹名一致;
dataDir:确认Add Core时,会在new_core目录下生成名为data的文件夹
config:new_core下的conf下的config配置文件(solrconfig.xml)
schema: new_core下的conf下的schema文件(schema.xml)
确认Add Core时,会在new_core下生成data文件夹,与core.properties文件。core.properties文件里内容如下:
前面已说过
5.4.Java Properties
可查看到Java相关的一些属性的信息
六、Schema【—solr/db2-core/conf/】
6.1 添加一个field
添加完成之后查managed-schma多一个属性
相当于给数据库里面的某一个表添加了一个叫goods_name和字段
6.2 添加一个动态的field
添加完成之后查managed-schma多一个属性
6.3 添加一个动态的copyfield
添加一个goods_keywords
七、Document和Query
因为上面添加了goods_name 和goods_remark的属性现地相当于有一个solr的数据库里面有一个表叫db2-core 这个表里面现在自己加了goods_name和goods_remark的两个字段
7.1 向库里面增加数据
7.2 根据ID删除
全删除
7.3 查询数据
Request-Handler(qt):
q: 查询字符串(必须的)。:表示查询所有;keyword:吕布 表示按关键字“吕布”查询
fq: filter query 过滤查询。使用Filter Query可以充分利用Filter Query Cache,提高检索性能。作用:在q查询符合结果中同时是fq查询符合的(类似求交集),例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time是20081001到20091031之间的。
sort: 排序。格式如下:字段名 排序方式;如advertiserId desc 表示按id字段降序排列查询结果。
start,rows:表示查回结果从第几条数据开始显示,共显示多少条。
fl: field list。指定查询结果返回哪些字段。多个时以空格“ ”或逗号“,”分隔。不指定时,默认全返回。
df: default field默认的查询字段,一般默认指定。
Raw Query Parameters:
wt: write type。指定查询输出结果格式,我们常用的有json格式与xml格式。在solrconfig.xml中定义了查询输出格式:xml、json、Python、ruby、PHP、phps、custom。
indent: 返回的结果是否缩进,默认关闭,用 indent=true | on 开启,一般调试json,php,phps,ruby输出才有必要用这个参数。
hl: high light 高亮。hl=true表示启用高亮
hl.fl : 用空格或逗号隔开的字段列表(指定高亮的字段)。要启用某个字段的highlight功能,就得保证该字段在schema中是stored。如果该参数未被给出,那么就会高 亮默认字段 standard handler会用df参数,dismax字段用qf参数。你可以使用星号去方便的高亮所有字段。如果你使用了通配符,那么要考虑启用 hl.requiredFieldMatch选项。
hl.simple.pre:
hl.requireFieldMatch: 如果置为true,除非该字段的查询结果不为空才会被高亮。它的默认值是false,意味 着它可能匹配某个字段却高亮一个不同的字段。如果hl.fl使用了通配符,那么就要启用该参数。尽管如此,如果你的查询是all字段(可能是使用 copy-field 指令),那么还是把它设为false,这样搜索结果能表明哪个字段的查询文本未被找到
hl.usePhraseHighlighter:如果一个查询中含有短语(引号框起来的)那么会保证一定要完全匹配短语的才会被高亮。
hl.highlightMultiTerm:如果使用通配符和模糊搜索,那么会确保与通配符匹配的term会高亮。默认为false,同时hl.usePhraseHighlighter要为true。