IndexedDB Fuzzy Search
IndexedDB Fuzzy Search
首先,对我的英语表示抱歉。
我正在开发一个网页项目,在输入框中输入内容时会显示建议,但我想使用IndexedDB来提高在Firefox中的查询速度。
使用WebSQL,我有以下代码:
db.transaction(function (tx) { var SQL = 'SELECT "column1", "column2" FROM "table" WHERE "column1" LIKE ? ORDER BY "sortcolumn" DESC LIMIT 6'; tx.executeSql(SQL, [searchTerm + '%'], function(tx, rs) { // 在这里处理代码 }); });
我想用IndexedDB做同样的事情,我有以下代码:
db.transaction(['table'], 'readonly') .objectStore('table') .index('sortcolumn') .openCursor(null, 'prev') .onsuccess = function (e) { e || (e = event); var cursor = e.target.result; if (cursor) { if (cursor.value.column1.substr(0, searchTerm.length) == searchTerm) { // 在这里处理代码 } else { cursor.continue(); } } };
但这个代码太慢了,而且有bug。我想知道有没有更好的方法来做到这一点。
谢谢回复。