Следующий запрос выполняется довольно медленно (около 1 секунды), мне интересно, есть ли другие варианты или плохой метод, который я использую для достижения этой цели?
У меня есть сценарий обезьяны тамперадля рабочего приложения мне нужно было включить базу данных в мой Tampermonkey
скрипт, который будет храниться локально, поэтому я выбрал TaffyDB
.У меня есть такое предложение, как «это мое длинное предложение», и у меня есть база данных терминов, мне нужно проверить, появляется ли фраза «длинное предложение» в TaffyDB
.
Моя первая реализацияработал довольно хорошо, я взял каждое слово в предложении и проверил его в БД, но, очевидно, это не сработало для фраз.документация TaffyDB
, похоже, не предлагает никаких способов использования LIKE
или %
, как в MySQL
.
Вот решение, которое я придумал, которое работает, но оно медленное.
while (i < totalRecords) {
DB = dblist({id:i}).first();
keyword1 = DB.keyword; //keyword to check
pos = title1.indexOf(keyword1); //see if keyword/phrase is in title
if (pos != "-1"){
console.log("Do stuff, an entry was found");
}
i++ // keep looping until all records checked.
}
По сути, я беру каждую строку из TaffyDB и проверяю, появляется ли какое-либо из этих ключевых слов или фраз в заголовке.Я не мог придумать другой способ достижения этого и его заметно медленный
Редактировать: в базе данных около 1100 записей.