- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上面是solr的架构图,solr服务器是基于lucene的,并运行在servlet容器中,一般都用tomcat。solr提供了admin、update和select接口,都是基于XML,JSON 和HTTP 。其中update是索引接口,select是查询接口,admin是管理接口。索引时,每个文档都用Document来表示(和lucene是一样的),每个Document由多个Field组成,每个Field包括name和value两部分。查询时,调用select接口,输入为solr的查询语言,输出为xml或json格式的文档列表。 solr的架构是很灵活的,基于插件的,比如XML Update Handler, request Handler, response Writer,可以自己配置或者写代码进行定制。 这两个地方一般都是要自定义的,其他可以用缺省配置。dataDir是定义索引文件的存储位置,updateHandler的配置定义了索引提交的触发条件,maxDocs表示到10000个文档更新了就提交,maxtime表示要240000ms就提交,两者只要满足一个就可以。 这是采购网的schema配置,定义各个field,name是名字,type是类型,也表示切词的方式,text是需要切词的,其他类型都不切词。indexed表示是否索引,stored表示是否保存字段的内容。uniquekey表示唯一性的字段名称。 fuzzy searches是计算两个字符串的相似度,来进行查询。jakarta apache~10表示jakarta和apache两个单词之间的距离不超过10。 boosting a term,指能够指定某个词的重要性,比如jakarta^4 apache表示jakarta更重要一些 通常都是用xml格式来描述。delete时能够支持查询,将查询出来的文档都删除。 查询语句都可以拼到一个url里,采用http get方式提交。q参数表示查询语句,还有其他参数表示排序和分页的参数 SolrInputDocument是solr文档对象,solrj将它转化成前面提到的xml,提交到solr的索引接口。 这是ebnew全文检索系统的总体框架,其中,信息更新后,会通过触发器在发布队列表中插入相应记录。每条记录中包括更新信息的表名,id等信息。定时索引任务会定时读取发布队列表,发现有新的信息后,读取对应表的详细数据,调用solr的索引接口更新索引。更新成功后,删除发布队列表的相应记录。 schema.xml solr查询语言 和lucene的查询语法基本一致,并增加了新的特性 title:The Right Way AND text:go Wildcard Searches: te?t test* te*t Fuzzy Searches: roam~0.8 such as foam or roams Proximity Searches: jakarta apache~10 solr查询语言 Boolean Operators: AND(+) OR NOT(-) Grouping: (jakarta OR apache) AND website Field Grouping: title:(+return +pink panther) Boosting a Term: jakarta^4 apache Range Searches: mod_date:TO title:{Aida TO Carmen} 举例:modelName:article AND id0:11 AND id1:5 AND content:岷县 solr更新接口 更新的url是/update,通过http post方法提交 (1)添加、更新或删除 (2)提交、优化或者回滚 solr查询接口 查询的url是/select/ 举例:4:7080/solr1/select/?q=modelName%3Aarticle+AND+id0%3A11+AND+id1%3A5+AND+content%3A%E5%B2%B7%E5%8E%BFversion=2.2start=0rows=10indent=on 其他参数 sort 排序 Start 分页开始行 rows 每页行数 fq filter Query fl返回的字段数 solr查询接口 查询结果返回格式 solrj介绍 solrj是solr的java客户端 初始化服务器对象 String url = http://localhost:8983/solr; SolrServer server = new CommonsHttpSolrServer(
文档评论(0)