首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:使用Pysolr访问Solr中的数据

Python:使用Pysolr访问Solr中的数据
EN

Stack Overflow用户
提问于 2017-12-19 00:59:54
回答 1查看 2.3K关注 0票数 1

我使用简单的Python脚本通过Pysolr从Solr获取示例数据。首先,我使用以下代码创建了我的核心

代码语言:javascript
复制
[user@user solr-7.1.0]$ ./bin/solr create -c json_db
WARNING: Using _default configset. Data driven schema functionality is enabled by default, which is
         NOT RECOMMENDED for production use.

         To turn it off:
            curl http://localhost:8983/solr/json_db/config -d '{"set-user-property": {"update.autoCreateFields":"false"}}'

Created new core 'json_db'


[user@user solr-7.1.0]$ ./bin/post -c json_db example/exampledocs/*.json
SimplePostTool version 5.0.0
Posting files to [base] url http://localhost:8983/solr/json_db/update...
Entering auto mode. File endings considered are xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log
POSTing file books.json (application/json) to [base]/json/docs
1 files indexed.
COMMITting Solr index changes to http://localhost:8983/solr/json_db/update...
Time spent: 0:00:00.398

在创建内核之后,我运行简单的python脚本来获取数据

代码语言:javascript
复制
from pysolr import Solr

conn = Solr('http://localhost:8983/solr/json_db/')
results = conn.search('*:*')

我得到了这个错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "/home/user/PycharmProjects/APP/application/solr_test.py", line 4, in <module>
    results = conn.search({'*:*'})
  File "/home/user/PycharmProjects/APP/venv/lib/python3.5/site-packages/pysolr.py", line 723, in search
    response = self._select(params, handler=search_handler)
  File "/home/user/PycharmProjects/APP/venv/lib/python3.5/site-packages/pysolr.py", line 421, in _select
    return self._send_request('get', path)
  File "/home/user/PycharmProjects/APP/venv/lib/python3.5/site-packages/pysolr.py", line 396, in _send_request
    raise SolrError(error_message % (resp.status_code, solr_message))
pysolr.SolrError: Solr responded with an error (HTTP 404): [Reason: Error 404 Not Found]

但是,当我尝试直接从solr运行查询时,得到的结果如下所示

有人能告诉我我哪里做错了吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-09-28 20:42:02

您可以只运行下面的脚本来获取结果,而不使用pysolr库。

代码语言:javascript
复制
#! /usr/bin/python
import urllib
import json as simplejson
import pprint
import sys

url = 'give the url here'
wt = "wt=json"
connection = urllib.urlopen(url)

if wt == "wt=json":
  response   = simplejson.load(connection) 
else:
  response   = eval(connection.read())

print "Number of hits: " + str(response['response']['numFound'])
pprint.pprint(response['response']['docs'])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47873077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档