Ich habe einen Dokumentenhash, der eine Referenz wie diese ist:
(def *document-hash* (ref (hash-map)))
Es sieht folgendermaßen aus
{"documentid" {:term-detail {"term1" count1 ,"term2" count2}, "doclen" 33}}}
Wie kann ich diese Hashtabelle ergänzen?
(defn add-doc-hash [docid term-number count]
(dosync (alter *document-hash*
(fn [a-hash]
(assoc a-hash docid {:term-detail
(assoc ((a-hash docid)) :term-detail) term-number count), :doclen 33))))))
- Ich möchte die Termdetails für die Dokumente aktualisieren
- Jedes Mal, wenn ein neuer Begriff hinzukommt, möchte ich die Begriffsdetails abrufen und die Begriffe und ihre Anzahl aktualisieren
- anfangs ist der Hash leer
Aber dies wirft die Null-Zeiger-Ausnahme, weil der Begriff-Detail-Hash nicht erstellt wird, wenn ich versuche, den Begriff-Nummer hinzufügen.