知识库 : Solr Python API:SolrCloudpy与Pysolr的对比

Edit Document

Solr Python API SolrCloudpy Pysolr 对比

目录

1.               SolrCloudpy

1.1 使用优势

1.2               安装

1.3               使用示例

1.4               使用缺陷

2 Pysolr

2.1 使用优势

2.2 安装

2.3 使用示例

2.4 使用缺陷

 

 

本文 简单介绍 两种 Solr pythoy API ,用于 基于 solr 服务器 进行检索 , 文中 不但介绍 具体 使用 ,也 详细的对比 两种 API 优缺点 和适宜使用的场景。

1.   SolrCloudpy

Solr Cloudpy 是为 SolrCloud 交互 设计的 文件

1 .1 使用 优势

直接与 Solr Cloud 交互 API ,对于安装于集群中 solr 服务十分方便,不需要 人为 判断索引 位置 ,可根据 SolrCloud Zookeeper 交互 索引名直接获取 索引 地址, 十分高效,不会 出现索引重建 不在原集群节点而导致的获取不到索引数据的错误。

1.2       安装

使用 pip 进行安装 安装命令为:

pip install solrcloudpy

 

1.3       使用示例

             

              上图 是使用 solrcloudpy 一个简单示例, 首先 导入相关的 python 文件, 使用类:

solrcloudpy.connection.SolrConnection( server='host:8983' , detect_live_nodes=False ,   user=None ,   password=None ,   timeout=10 )

连接 solr 服务器;使用类:

solrcloudpy.parameters. SearchOptions ( **kwargs )

管理 查询选项,可用 “.” 连接 不同的查询参数:

构建好 查询 参数传递给 search 方法,连接固定索引进行查询:

              其中 response 返回的查询结果,可进行下一步的处理。

1.4       使用 缺陷

无法传递 高亮参数,不能实现界面上的高亮显示。

2 Pysolr

Pysolr solr 较为轻量的 python 应用

2 .1 使用 优势

P ysolr 设计 为与 固定 服务器上的固定索引进行直接对话, 连接 设置查询参数,直接进行检索, 方便 易用,同时,提供的参数比较全面,避免了 solrcloudpy 不能传递 高亮参数的劣势, 提供 高亮 功能, 更好 的发挥 solr 的搜索体验 ,令用户实现 效果 的检索界面。

2.2 安装

使用 pip 进行安装 安装命令为:

pip install pysolr

 

2 .3 使用示例

 

上图 是使用 solrcloudpy 一个简单示例, 首先 导入相关的 python 文件, 使用 pysolr.Solr 方法 连接 solr 服务器 指定 要检索的索引 使用 solr.search 方法设置 查询参数,其中,第一个参数为 solr 查询 q * *{} 添加的参数为其他查询参数,例如, rows 返回结果 数量 hl ”是否 启用高亮 ,“ hl .fl ”高亮 的返回字段等 results 为得到的检索数据,可进行进一步分析,如获取文档数量,文档内容 ,某 字段的内容等 等。

2 .4 使用缺陷

              solrcoudpy 相比 ,在多 节点 集群 中, pysolr 不能通过 其中 任意一个节点判断索引的位置, 只能 用户 指定某 节点 的某个 索引 一旦 指定不能改变 若索引位置移动,则无法 进行 检索,这一点对于集群中的 solr 服务 造成 很多不便,不利于开发。

 

Attachments:

Solr Python API:SolrCloudpy与Pysolr的对比.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)