Я пытаюсь подключиться к серверу solr, используя this учебник. На этом этапе я уверен, что мой solr настроен правильно. Я могу запуститьПодключиться к серверу solr, запущенному на localhost
> solr start -p 8983
и кажется, что-то запустил.
достаточно уверенный
> solr status
Solr process 31421 running on port 8983
Так что теперь в моем питона код, я стараюсь, что я думаю, что должно быть основным сценарий подключения.
import solr
host = "http://localhost:8983/solr"
# also tried
# host = "http://localhost:8983"
# also tried
# host = "http://127.0.0.1:8983/solr"
# also tried
# host = "http://127.0.0.1:8983"
connection = solr.SolrConnection(host)
try:
connection.add(
id= 1,
title= "Lucene in Action",
author= ['Zack', 'Hank Hill']
)
except Exception as e:
import pdb
pdb.set_trace()
connection.commit()
Мой код никогда не делает его к connection.commit(), вместо этого, он попадает в точку отладки в исключения. Глядя на исключение е
HTTP code=404, Reason=Not Found, body=<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/update. Reason:
<pre> Not Found</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>
</body>
</html>
Так это выглядит, как клиент питона не находит сервер Solr, в связи с 404? Кажется, это должно быть довольно просто, поэтому я не уверен, где я перепутал здесь. Может кто-то указать мне верное направление?
редактировать: Я добавил этот скрипт, чтобы проверить различные хосты, не идут
hosts = [
'http://localhost:8983/solr',
'http://localhost:8983',
'http://127.0.0.1:8983/solr',
'http://127.0.0.1:8983'
]
def connect(host):
connection = solr.SolrConnection(host)
try:
connection.add(
id= 1,
title='Lucene in Action',
author= ['Zack Botkin', 'Hank Hill']
)
except:
raise
for host in hosts:
try:
connect(host)
except Exception as e:
import pdb
pdb.set_trace()
Каждое исключение одно и то же, 404 ошибка
редактировать 2: Я был в состоянии
> telnet localhost 8983
и он подключен, поэтому я уверен, что сервер solr работает на этом порту?
Что вы видите, если вы открываете браузер и перейти на тот же URL-адрес "HTTP: // локальный: 8983/Solr"? – Ejaski
Если это удаленный сервер, вы можете использовать wget или curl для проверки доступа к URL-адресу «http: // localhost: 8983/solr». Попробуйте выполнить команду: wget 'http: // localhost: 8983/solr' – Ejaski
ok, да, я открыл «: 8983/solr» внутри браузера и может видеть приложение solr web –
Zack