solr原理详解
来源:互联网 发布:linux trap 编辑:程序博客网 时间:2024/06/17 02:04
Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询。在 Solr 中,用户通过向部署在servlet 容器中的 Solr Web 应用程序发送 HTTP 请求来启动索引和搜索。Solr 接受请求,确定要使用的适当SolrRequestHandler,然后处理请求。通过 HTTP 以同样的方式返回响应。默认配置返回 Solr 的标准 XML 响应,也可以配置 Solr 的备用响应格式。
可以向 Solr 索引 servlet 传递四个不同的索引请求:
add/update 允许向 Solr 添加文档或更新文档。直到提交后才能搜索到这些添加和更新。
commit 告诉 Solr,应该使上次提交以来所做的所有更改都可以搜索到。
optimize 重构 Lucene 的文件以改进搜索性能。索引完成后执行一下优化通常比较好。如果更新比较频繁,则应该在使用率较低的时候安排优化。一个索引无需优化也可以正常地运行。优化是一个耗时较多的过程。
delete 可以通过 id 或查询来指定。按 id 删除将删除具有指定 id 的文档;按查询删除将删除查询返回的所有文档。
一个典型的Add请求报文 Xml代码
1. <add>
2. <doc>
3. <field name="id">TWINX2048-3200PRO</field>
4. <field name="name">CORSAIR XMS 2GB (2 x 1GB) 184-Pin DDR S
DRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail</field>
5. <field name="manu">Corsair Microsystems Inc.</field>
6. <field name="cat">electronics</field>
7. <field name="cat">memory</field>
8. <field name="features">CAS latency 2, 2-3-3-6 timing, 2.75v
, unbuffered, heat-spreader</field>
9. <field name="price">185</field>
10. <field name="popularity">5</field>
11. <field name="inStock">true</field>
12. </doc>
13. <doc>
14. <field name="id">VS1GB400C3</field>
15. <field name="name">CORSAIR ValueSelect 1GB 184-Pin DDR SDRA
M Unbuffered DDR 400 (PC 3200) System Memory - Retail</field>
16. <field name="manu">Corsair Microsystems Inc.</field>
17. <field name="cat">electronics</field>
18. <field name="cat">memory</field>
19. <field name="price">74.99</field>
20. <field name="popularity">7</field>
21. <field name="inStock">true</field>
22. </doc>
23.</add>
一个典型的搜索结果报文: Xml代码
1. <response>
2. <lst name="responseHeader">
3. <int name="status">0</int>
4. <int name="QTime">6</int>
5. <lst name="params">
6. <str name="rows">10</str>
7. <str name="start">0</str>
8. <str name="fl">*,score</str>
9. <str name="hl">true</str>
10. <str name="q">content:"faceted browsing"</str>
11. </lst>
12. </lst>
13.
14. <result name="response" numFound="1" start="0" maxScore="1.058217">
15. <doc>
16. <float name="score">1.058217</float>
17. <arr name="all">
18. <str>http://localhost/myBlog/solr-rocks-again.h
tml</str>
19. <str>Solr is Great</str>
20. <str>solr,lucene,enterprise,search,greatness</str>
21. <str>Solr has some really great features, like
faceted browsing and replication</str>
22. </arr>
23. <arr name="content">
24. <str>Solr has some really great features, like
faceted browsing and replication</str>
25. </arr>
26. <date name="creationDate">2007-01-07T05:04:00.000Z</date>
27. <arr name="keywords">
28. <str>solr,lucene,enterprise,search,greatness</str>
29. </arr>
30. <int name="rating">8</int>
31. <str name="title">Solr is Great</str>
32. <str name="url">http://localhost/myBlog/solr-rocks-again.html</str>
33. </doc>
34. </result>
35.
36. <lst name="highlighting">
37. <lst name="http://localhost/myBlog/solr-rocks-again.html">
38. <arr name="content">
39. <str>Solr has some really great features, like
<em>faceted</em>
40. <em>browsing</em> and replication</str>
41. </arr>
42. </lst>
43. </lst>
可以向 Solr 索引 servlet 传递四个不同的索引请求:
add/update 允许向 Solr 添加文档或更新文档。直到提交后才能搜索到这些添加和更新。
commit 告诉 Solr,应该使上次提交以来所做的所有更改都可以搜索到。
optimize 重构 Lucene 的文件以改进搜索性能。索引完成后执行一下优化通常比较好。如果更新比较频繁,则应该在使用率较低的时候安排优化。一个索引无需优化也可以正常地运行。优化是一个耗时较多的过程。
delete 可以通过 id 或查询来指定。按 id 删除将删除具有指定 id 的文档;按查询删除将删除查询返回的所有文档。
一个典型的Add请求报文 Xml代码
1. <add>
2. <doc>
3. <field name="id">TWINX2048-3200PRO</field>
4. <field name="name">CORSAIR XMS 2GB (2 x 1GB) 184-Pin DDR S
DRAM Unbuffered DDR 400 (PC 3200) Dual Channel Kit System Memory - Retail</field>
5. <field name="manu">Corsair Microsystems Inc.</field>
6. <field name="cat">electronics</field>
7. <field name="cat">memory</field>
8. <field name="features">CAS latency 2, 2-3-3-6 timing, 2.75v
, unbuffered, heat-spreader</field>
9. <field name="price">185</field>
10. <field name="popularity">5</field>
11. <field name="inStock">true</field>
12. </doc>
13. <doc>
14. <field name="id">VS1GB400C3</field>
15. <field name="name">CORSAIR ValueSelect 1GB 184-Pin DDR SDRA
M Unbuffered DDR 400 (PC 3200) System Memory - Retail</field>
16. <field name="manu">Corsair Microsystems Inc.</field>
17. <field name="cat">electronics</field>
18. <field name="cat">memory</field>
19. <field name="price">74.99</field>
20. <field name="popularity">7</field>
21. <field name="inStock">true</field>
22. </doc>
23.</add>
一个典型的搜索结果报文: Xml代码
1. <response>
2. <lst name="responseHeader">
3. <int name="status">0</int>
4. <int name="QTime">6</int>
5. <lst name="params">
6. <str name="rows">10</str>
7. <str name="start">0</str>
8. <str name="fl">*,score</str>
9. <str name="hl">true</str>
10. <str name="q">content:"faceted browsing"</str>
11. </lst>
12. </lst>
13.
14. <result name="response" numFound="1" start="0" maxScore="1.058217">
15. <doc>
16. <float name="score">1.058217</float>
17. <arr name="all">
18. <str>http://localhost/myBlog/solr-rocks-again.h
tml</str>
19. <str>Solr is Great</str>
20. <str>solr,lucene,enterprise,search,greatness</str>
21. <str>Solr has some really great features, like
faceted browsing and replication</str>
22. </arr>
23. <arr name="content">
24. <str>Solr has some really great features, like
faceted browsing and replication</str>
25. </arr>
26. <date name="creationDate">2007-01-07T05:04:00.000Z</date>
27. <arr name="keywords">
28. <str>solr,lucene,enterprise,search,greatness</str>
29. </arr>
30. <int name="rating">8</int>
31. <str name="title">Solr is Great</str>
32. <str name="url">http://localhost/myBlog/solr-rocks-again.html</str>
33. </doc>
34. </result>
35.
36. <lst name="highlighting">
37. <lst name="http://localhost/myBlog/solr-rocks-again.html">
38. <arr name="content">
39. <str>Solr has some really great features, like
<em>faceted</em>
40. <em>browsing</em> and replication</str>
41. </arr>
42. </lst>
43. </lst>
44.</response>
0 0
- solr原理详解
- solr原理详解
- Solr原理
- Solr详解
- solr详解
- Solr 分布式分发原理
- solr replication原理探究
- Solr--全文索引原理
- Solr--全文索引原理
- solr replication原理探究
- Solr搜索引擎原理
- Solr服务原理。
- solr配置文件详解
- Solr查询详解
- Solr部署详解
- solr 配置详解
- Solr部署详解
- solr管理界面详解
- bootstrap-datetimepicker时间控件
- Ubuntu下github pages+hexo搭建自己的博客
- spring java 发送邮箱验证
- small使用
- Parallels 10(v10.40) ubuntu desktop 14.04.4 无法安装Parallels tools
- solr原理详解
- [从头读历史] 第287节 神之物语 赫拉克勒斯的故事
- DIV与SPAN之间有什么区别
- Bootstrap下载与安装(配图)
- 用pcl以某个视角显示rgbd
- SSH框架总结(框架分析+环境搭建+实例源码下载)
- html5的canvas的基础知识(ie9+)
- 安卓和h5交互
- hdu: 4287