Revert "feat: improve indexing performance"

This reverts commit 0c7f058051.
This commit is contained in:
thecodrr
2020-11-16 14:59:15 +05:00
parent 8d3076460d
commit 20a3d1ab20
4 changed files with 10 additions and 18 deletions

View File

@@ -17,18 +17,16 @@ export default class Lookup {
notes(notes, query) { notes(notes, query) {
return sm.union( return sm.union(
this._db.content._collection.search.search(query, { this._db.content._collection.search.search(query, {
shouldMap: true,
map: (elem) => { map: (elem) => {
return notes.find((note) => note.contentId === elem); return notes.find((note) => note.contentId === elem);
}, },
}), }),
this._db.notes._collection.search.search(query, { shouldMap: true }) this._db.notes._collection.search.search(query)
); );
} }
notebooks(array, query) { notebooks(array, query) {
return this._db.notebooks._collection.search.search(query, { return this._db.notebooks._collection.search.search(query, {
shouldMap: true,
map: (elem) => { map: (elem) => {
return array.find((nb) => nb.id === elem); return array.find((nb) => nb.id === elem);
}, },

View File

@@ -7,18 +7,16 @@ import IndexedCollection from "./indexed-collection";
export default class CachedCollection extends IndexedCollection { export default class CachedCollection extends IndexedCollection {
async init() { async init() {
const store = new PersistentCachedMap(this.storeKey, this.storage); const index = new PersistentCachedMap(`${this.type}Index`, this.storage);
const store = new PersistentCachedMap(`${this.type}Store`, this.storage);
await index.init();
await store.init(); await store.init();
this.search = new HyperSearch({ this.search = new HyperSearch({
schema: getSchema(this.type), schema: getSchema(this.type),
tokenizer: "forward", tokenizer: "forward",
index,
store, store,
onIndexUpdated: async () => {
await this.storage.write(this.indexKey, this.search.indexer.export());
},
}); });
const index = await this.storage.read(this.indexKey);
this.search.indexer.import(index);
} }
exists(id) { exists(id) {

View File

@@ -14,8 +14,6 @@ export default class IndexedCollection {
constructor(storage, type) { constructor(storage, type) {
this.type = type; this.type = type;
this.storage = storage; this.storage = storage;
this.indexKey = `${this.type}Index`;
this.storeKey = `${this.type}Store`;
} }
clear() { clear() {
@@ -23,18 +21,16 @@ export default class IndexedCollection {
} }
async init() { async init() {
const index = new PersistentCachedMap(`${this.type}Index`, this.storage);
const store = new PersistentMap(`${this.type}Store`, this.storage); const store = new PersistentMap(`${this.type}Store`, this.storage);
await index.init();
await store.init(); await store.init();
this.search = new HyperSearch({ this.search = new HyperSearch({
schema: getSchema(this.type), schema: getSchema(this.type),
tokenizer: "forward", tokenizer: "forward",
index,
store, store,
onIndexUpdated: async () => {
await this.storage.write(this.indexKey, this.search.indexer.export());
},
}); });
const index = await this.storage.read(this.indexKey);
this.search.indexer.import(index);
} }
async addItem(item) { async addItem(item) {

View File

@@ -2704,8 +2704,8 @@ http-signature@~1.2.0:
sshpk "^1.7.0" sshpk "^1.7.0"
"hypersearch@https://github.com/streetwriters/hypersearch": "hypersearch@https://github.com/streetwriters/hypersearch":
version "0.2.2" version "0.1.0"
resolved "https://github.com/streetwriters/hypersearch#951e68c2f4dfd12325094791b8d430d6f1c4128e" resolved "https://github.com/streetwriters/hypersearch#fa5d2b8435c1b7bca4b5f8059054da848fe1631f"
iconv-lite@0.4.24: iconv-lite@0.4.24:
version "0.4.24" version "0.4.24"