Я прошел простой урок о разработке персонализированного голосового помощника. Для этого я использую Elasticsearch. когда я пытаюсь запустить код, я получаю сообщение от упругого поиска, говорящее Failed to establish new connection
. Я не уверен, что является причиной этой ошибки, так как я установил иasticsearch, а также его клиент Python.
Я проверил, установил ли я и эластичный поиск, и его клиент Python, и я сделал это. Я установил клиент Python через установку pip3. Я также проверил, является ли URL-адрес подключения правильным, т. Е. https://localhost:9200/
.
Я использую macOS.
s = Elasticsearch(['https://localhost:9200/'])
bulk(es, records, index='voice_assistant', doc_type='text', raise_on_error=True)
def search_es(query):
res = es.search(index="voice_assistant", doc_type="text", body={
"query" :{
"match": {
"voice_command": {
"query": query,
"fuzziness": 2
}
}
},
})
return res['hits']['hits'][0]['_source']['sys_command'
Фактическое сообщение об ошибке:
File "/usr/local/lib/python3.7/site-packages/elasticsearch/connection/http_urllib3.py", line 105, in perform_request
raise ConnectionError('N/A', str(e), e)
elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.VerifiedHTTPSConnection object at 0x1266dce10>: Failed to establish a new connection: [Errno 61] Connection refused) caused by: NewConnectionError(<urllib3.connection.VerifiedHTTPSConnection object at 0x1266dce10>: Failed to establish a new connection: [Errno 61] Connection refused)
Может кто-нибудь помочь мне исправить эту ошибку. Я впервые использую эластичный поиск.
РЕДАКТИРОВАТЬ: я попытался запустить эластичный поиск в терминале, и у меня появилось следующее предупреждение:
OpenJDK 64-Bit Server VM warning: Cannot open file logs/gc.log due to No such file or directory
Я продолжил поиск в Google об этой обработке инашел ответ, упомянув, что, вероятно, это может быть ошибкой в упругом поиске, в котором я не уверен, поскольку использую последнюю версиюОтвет, о котором я упоминал:
https://stackoverflow.com/questions/48696080/java-hotspottm-64-bit-server-vm-warning-cannot-open-file-logs-gc-log-due-to-no
Edit2: Теперь, когда я пытаюсь запустить эластичный поиск в erminal, я получаю следующую ошибку
StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/local/var/lib/elasticsearch]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.4.0.jar:7.4.0]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.4.0.jar:7.4.0]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.4.0.jar:7.4.0]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) ~[elasticsearch-cli-7.4.0.jar:7.4.0]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.4.0.jar:7.4.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.4.0.jar:7.4.0]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.4.0.jar:7.4.0]
Вчера я получил ту же ошибку, но когдаЯ перезапустил свою систему, все работает нормально, это потому, что позади выполняется какая-то операция, и есть ли у нее какая-либо конкретная команда killall
, чтобы завершить все операции перед ее запуском?