Запись в Bluemix Retrieve_and_Rank дает статус 0, но не работает

Я пытаюсь проиндексировать некоторые веб-страницы в сервисе Bluemix Retrieve and Rank. Итак, я просканировал мои семена с помощью Nutch 1.11, сбросил просканированные данные (около 9000 URL-адресов) в виде файлов, разместил в своей коллекции те, которые возможны, например, XML-файлы:

Post_url = '"https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/%s/solr/%s/update"' %(solr_cluster_id, solr_collection_name)
cmd ='''curl -X POST -H %s -u %s %s --data-binary @%s''' %(Cont_type_xml, solr_credentials, Post_url, myfilename)
subprocess.call(cmd,shell=True)

и преобразовал остальное в json с помощью службы Bluemix Doc-Conv:

doc_conv_url = '"https://gateway.watsonplatform.net/document-conversion/api/v1/convert_document?version=2015-12-15"'
cmd ='''curl -X POST -u %s -F config="{\\"conversion_target\\":\\"answer_units\\"}" -F file=@%s %s''' %(doc_conv_credentials, myfilename, doc_conv_url)
process = subprocess.Popen(cmd, shell= True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

а затем сохранил эти результаты Json в файл json и разместил его в моей коллекции:

Post_converted_url = '"https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/%s/solr/%s/update/json/docs?commit=true&split=/answer_units/id&f=id:/answer_units/id&f=title:/answer_units/title&f=body:/answer_units/content/text"' %(solr_cluster_id, solr_collection_name)
cmd ='''curl -X POST -H %s -u %s %s --data-binary @%s''' %(Cont_type_json, solr_credentials, Post_converted_url, Path_jsonFile)
subprocess.call(cmd,shell=True)

Все звучит, чтобы быть сделано хорошо. Файл json такой, каким он должен быть, и когда я публикую данные, я получаю статус 0, который, как я думал, означает, что публикация была выполнена правильно. Но когда я отправляю запросы:

pysolr_client = retrieve_and_rank.get_pysolr_client(solr_cluster_id, solr_collection_name)
results = pysolr_client.search(Query_term)
print(results.docs)

результат ничто. Ничего не находит. Я делал то же самое раньше, с той же структурой команд и всем остальным, и это работало. Я только что сделал новую коллекцию, и теперь она не работает.

Мои данные были проиндексированы? Тогда почему запрос не работает? Когда я пытаюсь получить статистику использования для моего кластера Solr, результат:

{"disk_usage": {"used_bytes": 2210, "total_bytes": 34359738368, "used": "2,1582 КБ","total":"32 ГБ", "процент_использования": 6.4319465309381485E-6},

"memory_usage": {"used_bytes": 2069028864, "total_bytes": 4194304000, "used": "1,9269 ГБ", "total": "3,9063 ГБ", "процент_использования":49,3294921875}}

что я думал, означает, что мои данные были проиндексированы и хранятся в моем кластере. Только сейчас я понял, что каждый раз, когда я публикую свои данные, использование данных и использование памяти не меняются. это означает, что проводка не завершена? хотя я получаю статус 0? Если да, есть идеи, в чем проблема? почему это происходит?

Это как-то связано с solr_config?
Любая помощь или идеи о том, как получить результат от запроса, будут высоко оценены.

1 ответ

Решение

URL-адрес, используемый для публикации преобразованных файлов, должен разделять данные по / answer_units / not по / answer_units / id, поэтому должно быть:

Post_converted_url = '" https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/%s/solr/%s/update/json/docs?commit=true&split=/answer_units&f=id:/answer_units/id&f=title:/answer_units/title&f=body:/answer_units/content/text"'% (solr_cluster_id, solr_collection_name)

Обратите внимание на разделение split / / answer_units.

Другие вопросы по тегам