Solr管理界面以及标准接口说明

版权声明:本文为博主原创文章,未经博主允许不得转载,其实这是一种态度。 https://blog.csdn.net/lbf5210/article/details/51243907

1.Solr简介:

Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML JSONPython、Ruby Php、csv格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 创建的索引。

2.solr we管理界面的主界面说明;

1)访问solr主页,http://服务器ip:端口(默认为80)/solr,此文档说明的solr服务是部署在tomcat下,默认显示此页内容,包含solr版本(此版本为5.2.1),包含系统内存和jvm内存的使用情况,jvm参数等;

 

2)logging 日志信息

可以查看在使用solr过程中产生的日志信息,也可以临时改变日志设置;

 

3)Core Admin 索引库管理

这个界面很重要,这可以使多核的配置,索引库的优化等,变得非常简单;
主要功能包括:Add Core(添加核心,即索引库),Unload(卸载核心),Rename(重命名核心),Optimize(优化索引库)。如我这里是三个核心。

 

4)Java Properties java属性

Javatomcat一些属性信息,jdk版本信息等等

 

5)Thread Dump 中可以看到你的JVM 中的所有活动线程的Thread Dump

 

3.Core selector核心选择器

每个核心中有大量核心相关页面。这些核心相关页面允许你做下面的事情:

1)查看核心相关的属性,例如,你可以在主核心(例如,core0)页面查看到 Lucene segments 的数量等基本信息。

 

2)从 Analysis 分析文本内容;

此处可以分析你所配置的分词器是否生效,可以选择已经配置分词的字段,输入一句话,Analyse Values可以查看是否分词;

 

3)使用 Query 执行查询。

Query操作说明

Solr search query using rest API:

http://localhost/solr/#/core0/query?fq=title:内部&start=0&rows=10&fl=from,tos,title,content&sort=id desc

一个简单的查询实例:

查询含有“内部”值得title字段,每页显示10条数据,回显字段from,tos,title,content,按id降序,;

查询获得的结果,可以选择输出的类型,比如json

{

"responseHeader": { "status": 0, "QTime": 2 }, "response": { "numFound": 1, "start": 0, "docs": [

 { "title": "内部推荐重磅来袭", "content": "\n亲爱的小伙伴:\n\n你有火眼金睛吗?你身边有汗血宝马吗?\n赶快领着你的千里马来报到吧~~\n本期人力资源部特意为大家送上多个职位,机会难得,还不赶紧看过来!\n\n只要推荐朋友加入,就能获得800RMB―1500RMB的金额奖励哦,放肆推吧!\n\n \n\n\n \n本周我们需要这些岗位de银:\n \n1.渗透测试工程师\n2.高级PHP开发工程师\n3.逆向工程师\n4.App技术经理\n5.市场策划经理\n6.销售经理\n\n(任职要求和岗位内容详见附件)\n\n\n推荐成功你可以获得:\n\n职务\n奖金(RMB\n初级岗位\n800\n中级岗位\n1000\n高级岗位\n1500\n \n注:公司管理层以及招聘组员工不享受此奖励\n\n \n推荐方式在这里:\n\n内部推荐简历接收邮箱联系人:杨慧\n联系电话:\n\n \n奖励方式是酱婶儿的:\n被推荐候选人被公司成功录用且通过试用期考核,推荐人即可获得相应奖金\n \n我们还设有:\n1.年度铜牌伯乐奖\n截止在本自然年年底推荐成功4-5名及以上员工(转正且在职) 可获得奖金4888\n\n2.年度银牌伯乐奖\n截止在本自然年年底推荐成功6-7名及以上员工(转正且在职) 可获得奖金6666\n\n3.年度金牌伯乐奖\n截止在本自然年年底推荐成功8名及以上员工(转正且在职) 可获得奖金8888\n\n\n憋犹豫了,小伙伴们,快快响应号召,喊上兄弟来永信至诚,让世界看到你的影响力吧!\n \n本期没有获得内推机会的童鞋也不要灰心,永信至诚内推政策正式启动了,更多职位招聘消息,请关注后续公告邮件。\n \n\n \n人力资源部\n 2016412",

"from": "\"[email protected]\" <[email protected]>", "tos": [ "all <[email protected]>" ] } ]

 }

}

返回类型:查询后结果集类型,默认类型为json,在请求中可以设置返回类型

请求连接:http://localhost/solr/#/core0/?为默认实例参数

描述:每个参数的实际作用描述

返回类型

请求连接

描述

json

fl=title,id

是逗号分隔的列表,用来指定文档结果中应返回的 Field 集。默认为 “*”,指所有的字段。

json

defType=lucene

指定query parser,常用defType=lucene, defType=dismax, defType=edismax

 

json

qf=content

query fields,指定solr从哪些field中搜索。

json

Pf=参数

用于指定一组field,当query完全匹配pf指定的某一个field时,来进行boost。

json

fq=参数:查询内容

filter query,过虑查询。

json

mm=AND

minimal should match。Solr支持三种查询clause,即“必须出现”, “不能出现”和“可以出现”,分别对应于AND, -, OR。

在默认情况下,使用OR这个clause。mm用于设置在使用OR这个clause时,需要出现最少的满足条件的clause数量。

xml

wt=xml

writer type,指定输出格式,可以有 xml, json, php,ruby等

json

df=title

默认的查询字段title。 

json

qt=standard

query type,指定那个类型来处理查询请求,一般不用指定,默认是standard。

 

 

 

 

4)Solrt通过url方式删除数据

Update操作说明

发送请求:

http://localhost:8080/solr/update/?stream.body=

<delete><id>id</id></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

 

返回处理结果:主要看状态码

执行正常

<response>

<lst name="responseHeader">

<int name="status">0</int>

<int name="QTime">112</int>

</lst>

</response>

 

执行失败,原因是请求的参数有误

 

<response>

<lst name="responseHeader">

<int name="status">400</int>

<int name="QTime">4</int>

</lst>

<lst name="error">

<str name="msg">

no field name specified in query and no default specified via 'df' param

</str>

<int name="code">400</int>

</lst>

</response>

 

根据id删除数据

根据查询参数条件删除数据

返回类型:查询后结果集类型,默认类型为json,在请求中可以设置返回类型

请求连接:http://192.168.40.11/solr/#/core0/?为默认实例参数

描述:每个参数的实际作用描述

返回类型

请求连接

描述

xml

http://localhost:8080/solr/core0/update/?stream.body=

<delete><id>id</id></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

根据id值来删除索引信息

xml

http://localhost:8080/solr/core0/update/?stream.body=

<delete><query>参数</query></delete>&stream.contentType=text/xml;charset=utf-8&commit=true

 

根据查询条件来删除索引信息

stream 相关参数:

stream.file=(服务器本地文件);

stream.url 分别指到你的删除文本,这里是直接字符串内容用 stream.body参数。

commit 参数是指提交,提交了才能看到删除效果。

删除指令有两种,一是:用 <id></id>包装;二是:<query></query>包装。指令都很明显,一个是 id值(是在 schema.xmluniqueKey所指字段的值,而不是索引内部的 docId);query值是查询串,如:title:"solr lucene"

 

 

 

猜你喜欢

转载自blog.csdn.net/lbf5210/article/details/51243907
今日推荐