どのようにWebサービスの内容でsolrサーバーのインデックスを作成できますか。インデックスxml残りのWebサービスをsolrサーバーに出力
私のWebサービス出力することができます私は、インデックスは、Apache Solrのにthiss方法
上に示したように、今私は、インデックスにxmlの下のコンテンツserverwithのSolrをしたい、この
のように見えます。
どのようにWebサービスの内容でsolrサーバーのインデックスを作成できますか。インデックスxml残りのWebサービスをsolrサーバーに出力
私のWebサービス出力することができます私は、インデックスは、Apache Solrのにthiss方法
上に示したように、今私は、インデックスにxmlの下のコンテンツserverwithのSolrをしたい、この
のように見えます。
お気に入りのスクリプト言語(私のためのPython)でスクリプトを作成します。私はデータベースと似たようなことをして、同様のソリューションがうまくいくことを願っています。 Pythonのでは
:
このスクリプトは、定期的にcron-jobのように実行してください。
2つのコードが必要です.1つはRESTfulサービスを照会し、応答の本体を取得するコードです。もう一方は、書式設定された文書をSolrにアップロードします。
コードのこの部分は、所与のrequest_urlにPythonのオブジェクトrequest_objをアップロードし、Solrの応答は、Pythonオブジェクトとして返されます。ネイティブのPythonオブジェクト(辞書(連想配列)、リスト、文字列、数字で構成される)はJSONに簡単に変換されます。
参考としてのみ使用してください。私はあなたの目的に合った妥当性を保証しません。
/update/json?wt = pythonは、Solr 3.3以降で使用できません。 MultipartPostHandlerライブラリが必要です。解析(および構成)として
def solr_interface(self,request_url,request_obj):
request=json.dumps(request_obj,indent=4,encoding="cp1252")
opener = urllib2.build_opener(MultipartPostHandler.MultipartPostHandler)
urllib2.install_opener(opener)
req = urllib2.Request(request_url, request)
req.add_header("Content-Type", "application/json")
text_response = urllib2.urlopen(req).read().strip()
return ast.literal_eval(text_response)
PythonでXML、これはコマンドラインサンプルでhttp://www.learningpython.com/2008/05/07/elegant-xml-parsing-using-the-elementtree-module/とhttp://effbot.org/zone/element.htm
これらの優れたチュートリアルを使用します。
from xml.etree import ElementTree as ET
elem =ET.fromstring("<doc><p>This is a block</p><p>This is another block</p></doc>")
for subelement in elem:
... print subelement.text
...
This is a block
This is another block
データのインデックスを作成するには、次の手順に従います。
簡単に同じコードを提供できます – pavan
私の答えはいくつかのコードで更新されました。と覚えておいてください、Googleはあなたの友人です。 – aitchnyu