を参照してください。どちらの場合も、私は同じAPI、すなわちHTTPクライアントを使用します。言い換えれば、http://www.example.com:8080/solr/datacore/select?q=DocIDのようなURL:* & fl = DocID、Descr
URLは合成によって構築されます。クエリには、キーとしてフィールド名を含むdictがあり、値として一致します。たとえば、上記のクエリは{"DocID": "*"}のようになります。この辞書は、各キー間でANDで結合されています。実際には、値は使用して参加GETまたは
DocType:Book OR Paper OR Letter AND Length:[0 TO 200000]
組成物はそれぞれの方法は、自己を返す単純なオブジェクトで行われているようなので、
{"DocType": ["Book","Paper",Letter"], "Length": ["[0 TO 200000]"]}
のようなより複雑なクエリがSOLRクエリに変わるだろうリストです例えば:
:
def onlybooks(self):
self.querydict["DocType"] = "Book"
return self
これはその後のようなメソッドチェーンで使用されます
これ以上のものは、あまりにも多すぎるもので、わかりにくい図書館で何が起こっているのかを、そのコードを勉強することなく理解できないほど多く隠してしまいます。 SOLRのクエリ言語のすべての機能とそれを効果的に使用する方法を理解するだけでは大変です。クエリーURLを構築するためのいくつかのヘルパーメソッドを書くのに約1ページのコードしか必要ないときは、あなたとSOLRの間にライブラリを置かないでください。
ところで、ライブラリを使用していて機能するためにSOLRスキーマが必要な場合は、SOLRスキーマをアプリケーションに含めないでください。アプリのサーバーから直接取得し、ローカルにキャッシュします。
JythonのSolr Javaクラスを使用できませんか? – mzjn
もちろん、私はPythonでプログラミングする方が好きです。私はちょうどTomcatでmod_pythonなどとは対照的にTomcatが既に存在しているので、それを実行したいと思います。それ以外の場合はJavaで行うことができます。 – user323094