BLOGTIMES
2020/05/30

Python で Solr をいじる

  python  solr 
このエントリーをはてなブックマークに追加

Python で Solr にアクセスする必要があったので、solrpy を使ってみました。
ちょっと古いライブラリですが、対象の Solr もちょっと古かったのでちょうど良かった感じでした。

search5/solrpy: Automatically exported from code.google.com/p/solrpy

solrpy is a Python client for Solr, an enterprise search server built on top of Lucene. solrpy allows you to add documents to a Solr instance, and then to perform queries and gather search results from Solr using Python.

検索をするサンプル

見たまんまですが、ページングの処理には next_batch() を使う必要があります。

from solr import SolrConnection solr_url = "http://host/solr/core0/" solr_query = "*:*" solr_fl = ['id'] solr = SolrConnection(solr_url, timeout=600) resp = solr.query(solr_query, fields=solr_fl , rows=100) for hit in resp.results: print(hit['id']) while resp := resp.next_batch(): for hit in resp.results: print(hit['id'])

while の条件式中で代入文を使いたかったので、Python 3.8で新しく導入された代入式*1(いわゆるセイウチ演算子) := を使ってみました。
今まで Python はこういう書き方できなかったんですね。。。。


トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/11758
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン