6

これは私が実装しようとしているコードです:-

import requests
import tornado.ioloop
import tornado.web
import tornado.autoreload
import json

class MainHandler(tornado.web.RequestHandler):
        def get(self):
            payload = [{"id" : "978-0641723445", "cat" : ["book","hardcover"], "name" : "The Lightning Thief", "author" : "Rick Riordan","series_t" : "Percy Jackson  Olympians", "sequence_i" : 1, "genre_s" : "fantasy", "inStock" : True, "price" : 12.50, "pages_i" : 384}]
            url = 'http://localhost:8983/solr/update/json'
            headers = {'content-type' : 'application/json'}
            # files = {'file': ('books.json', open('books.json', 'rb'))}
            timeline = requests.post(url, data = json.dumps(payload), headers = headers)
            self.write(timeline.text)
class QueryHandler(tornado.web.RequestHandler):
        def get(self):
            # timeline = requests.get('http://localhost:8983/solr/collection1/select?q=a&wt=json&indent=true')
            payload = {'q' : 'a', 'wt' : 'json', 'indent' : True}
            timeline = requests.get('http://localhost:8983/solr/collection1/select', params = payload)
            self.write(timeline.json())
application = tornado.web.Application([
    (r"/", MainHandler),
    (r"/query", QueryHandler)
])

if __name__ == "__main__":
    application.listen(8888)
    io_loop = tornado.ioloop.IOLoop.instance()
    tornado.autoreload.start(io_loop)
    io_loop.start()

localhost:8888/query で solr サーバーにクエリを実行できますが、データを投稿しようとしている localhost:8888 では、solr からこの応答を取得します:-

{
responseHeader: {
status: 0,
QTime: 46
}
}

データがsolrサーバーに投稿されていません。

助言がありますか ??

4

1 に答える 1