Solr
是什么?
Solr
是一个开源的企业级搜索服务器,底层使用易于扩展和修改的Java
来实现。服务器通信使用标准的HTTP
和XML
,所以如果使用Solr
了解Java
技术会有用却不是必须的要求。
Solr
主要特性有:强大的全文检索功能,高亮显示检索结果,动态集群,数据库接口和电子文档(Word ,PDF 等)的处理。而且Solr
具有高度的可扩展,支持分布搜索和索引的复制。
Solr的Python库pysolr
pysolr是一个对Solr服务进行了封装的Python库,它提供了一个执行solr查询服务的接口。
它支持solr的以下几种操作:
pysolr的基本用法
通过一个例子来展示其基本用法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| import pysolr solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10) solr.add([ { "id": "doc_1", "title": "A test document", }, { "id": "doc_2", "title": "The Banana: Tasty or Dangerous?", }, ]) solr.optimize() results = solr.search('bananas') print("Saw {0} result(s).".format(len(results))) for result in results: print("The title is '{0}'.".format(result['title'])) results = solr.search('bananas', **{ 'hl': 'true', 'hl.fragsize': 10, }) similar = solr.more_like_this(q='id:doc_2', mltfl='text') solr.delete(id='doc_1') solr.delete(q='*:*')
|