2016-07-19 21 views
0

Ich versuche, einige Web-Seiten in Bluemix Retrieve und Rank-Dienst zu indizieren. So habe ich meine Samen mit nutch 1,11 gekrochen, warf die bearbeiteten Daten (etwa 9000 URLs) als Dateien, geschrieben diejenigen, die beispielsweise möglich, XML-Dateien in meine Sammlung sind:Beitrag zu Bluemix Retrieve_and_Rank gibt Status 0, aber funktioniert nicht

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) 

und konvertiert den Rest mit Bluemix Doc JSon -Conv Service:

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 [email protected]%s %s''' %(doc_conv_credentials, myfilename, doc_conv_url) 
process = subprocess.Popen(cmd, shell= True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 

und gespeichert dann diese json Ergebnisse in einer jSON-Datei und hat es in meine Sammlung:

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) 

Alles klingt OK zu tun. Die JSON-Datei ist so, wie es sein sollte, und wenn ich die Daten poste, erhalte ich den Status 0, was bedeutet, dass die Buchung korrekt durchgeführt wurde. Aber wenn ich Anfragen senden:

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

ist das Ergebnis nichts. Es findet nichts. Ich habe das gleiche schon einmal gemacht, mit der Struktur der gleichen Kommandos und allem, und es hat funktioniert. Ich habe gerade eine neue Sammlung gemacht und jetzt funktioniert es nicht.

Wurden meine Daten indiziert? Warum funktioniert die Abfrage nicht? Wenn ich versuche, Nutzungsstatistiken immer für meine Solr das Ergebnis Cluster ist:

{ "disk_usage": { "used_bytes": 2210 "total_bytes": 34359738368, "gebraucht": "2,1582 KB", "Gesamt ":" 32 GB“, "PERCENT_USED": 6.4319465309381485E-6},

"memory_usage": { "used_bytes": 2069028864, "total_bytes": 4194304000, "gebraucht": "1,9269 GB", "total" : "3,9063 GB", "PERCENT_USED": 49,3294921875}}

die ich dachte, bedeutet, dass meine Daten indiziert wurde und in meinem Cluster gespeichert. Gerade jetzt habe ich festgestellt, dass sich die Datennutzung und die Speichernutzung nicht jedes Mal ändern, wenn ich meine Daten poste. bedeutet es, dass das Posting nicht erledigt ist? obwohl ich den Status 0 erhalte? Wenn ja, irgendwelche Ideen, was das Problem ist? Warum passiert es?

Hat es etwas mit der solr_config zu tun?
Irgendwelche Hilfen oder Ideen, wie man das Ergebnis von einer Frage erhält, würde sehr geschätzt.

Antwort

0

Die URL für die Buchung der konvertierten Dateien verwendet werden, haben die Daten von/answer_units/nicht/answer_units/id aufzuspalten, so sollte es sein:

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)

Achten Sie auf den Teil split =/antwort_units.