Skip to content

Commit

Permalink
add API to merger for setting a manifest
Browse files Browse the repository at this point in the history
  • Loading branch information
Hendrik Muhs committed Aug 23, 2016
1 parent c8a6ac6 commit a644d72
Show file tree
Hide file tree
Showing 6 changed files with 2,144 additions and 1,982 deletions.
11 changes: 11 additions & 0 deletions keyvi/src/cpp/dictionary/dictionary_merger.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,15 @@ final {
dicts_to_merge_.push_back(fsa);
}

/**
* Set a custom manifest to be embedded into the index file.
*
* @param manifest as JSON string
*/
void SetManifestFromString(const std::string& manifest){
manifest_ = manifest;
}

void Merge(const std::string& filename){
std::priority_queue<SegmentIterator> pqueue;

Expand Down Expand Up @@ -165,13 +174,15 @@ final {

generator.CloseFeeding();

generator.SetManifestFromString(manifest_);
generator.WriteToFile(filename);
}

private:
std::vector<fsa::automata_t> dicts_to_merge_;
size_t memory_limit_;
fsa::internal::IValueStoreWriter::vs_param_t params_;
std::string manifest_ = std::string();
};

} /* namespace dictionary */
Expand Down
5 changes: 5 additions & 0 deletions pykeyvi/src/addons/JsonDictionaryMerger.pyx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@


def SetManifest(self, manifest):
m = json.dumps(manifest)
self.inst.get().SetManifestFromString(m)
1 change: 1 addition & 0 deletions pykeyvi/src/pxds/dictionary_merger.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ cdef extern from "dictionary/dictionary_types.h" namespace "keyvi::dictionary":
JsonDictionaryMerger(size_t memory_limit) except +
JsonDictionaryMerger(size_t memory_limit, libcpp_map[libcpp_string, libcpp_string] value_store_params) except +
void Add(libcpp_string) except +
void SetManifestFromString(libcpp_string) # wrap-ignore
void Merge(libcpp_string) nogil
Loading

0 comments on commit a644d72

Please sign in to comment.