我正在尝试为Bluemix Retrieve和Rank服务中的某些网页编制索引。所以我用nutch 1.11抓取了我的种子,将抓取的数据(大约9000个URL)作为文件转储,将那些可能的xml文件发布到我的Collection:
view.TranslatesAutoresizingMaskIntoConstraints = false
并使用Bluemix Doc-Conv服务将其余部分转换为json:
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结果保存在json文件中并将其发布到我的集合中:
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文件是应该的,当我发布数据时,我确实收到状态0,我认为这意味着发布已正确完成。但是当我发送查询时:
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)
结果什么都没有。它一无所获。我以前做过同样的事情,使用相同的命令结构和所有内容,并且它有效。我刚刚制作了一个新系列,现在它不起作用。
我的数据是否已被编入索引?那为什么查询不起作用? 当我尝试获取Solr集群的使用情况统计信息时,结果为:
{“disk_usage”:{“used_bytes”:2210,“total_bytes”:34359738368,“used”:“2.1582 KB”,“total”:“32 GB”,“percent_used”:6.4319465309381485E-6},< / p>
“memory_usage”:{“used_bytes”:2069028864,“total_bytes”:4194304000,“used”:“1.9269 GB”,“total”:“3.9063 GB”,“percent_used”:49.3294921875}}
我认为这意味着我的数据已编入索引并存储在我的群集中。 刚才我意识到,每次发布数据时,数据使用和内存使用都不会改变。这是否意味着发布没有完成?即使我收到状态0?如果是的话,对问题的看法是什么?为什么会这样?
是否与solr_config有关?
任何有关如何从查询中获得结果的帮助或想法都将受到高度赞赏。
答案 0 :(得分:0)
用于发布已转换文件的URL必须按/ answer_units /而不是/ 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部分。