Большой список



  • Есть большой список (около 1 млн строк). Мне каждую строку нужно проверить на налие определенного слова. Собственно говоря, ели просто организовать foreach, то скрипт будет это все обрабатывать до скончания веков. Как правильно сделать, чтобы ускорить работу?



  • @ishka94 Ничего не долго вот пример функции

    
    function listSearch(list,word) {
            var strFound = [];
    	for(i = list.length - 1;i>=0;i--) {
    		if(list[i].indexOf(word)>=0) strFound.push(i);
    	};
            return strFound 
    };
    
    [[FOUND_INDEX]] = listSearch([[LIST]], "Слово");
    

    Получите список с номерами строк в которых есть ваше слово.



  • @usertrue
    Забыл упомянуть, суть в том, что слово то не одно, которое нужено проверить, а их около 50 тысяч.



  • @ishka94 Пишите на питоне тогда, он вроде быстро со строками работает )



  • @ishka94
    Напишите многопоточный скрипт.
    В качестве основного ресурса для потоков и будет указанный Вами список.
    50к строк выгрузите в глобальный список. И проверяйте совпадения через foreach.
    Скорость проверки будет зависеть от количества потоков.


Log in to reply