Список игнорирования



  • Кто какой может предложить вариант реализации данной задачи? главное чтобы все делалось быстро... так как этот список со временем может быть и на 10 000- 50 000 строк...



  • @smurfik что за список? игнорирование чего?



  • @artihorror игнорирование использованных данных. Ид, ссылок и тд. есть в любом софте для соц сетей



  • Насчет быстро, на больших списках не проверял
    http://community.bablosoft.com/topic/1249/реализация-черного-списка/2



  • @smurfik чем больше список, тем больше ресурсов для использования требует. вот такой вот текстовичек 0_1488362545556_Без имени-2.jpg
    у меня ни в какую не работает.
    брать строку и искать ее в списке(действие "содержит"). потом if результат поиска == true - запретить запрос.



  • @artihorror ну таких огромных у меня не будет... но все же... хз какой вариант самый быстрый.



  • @artihorror появилась одна идея, сейчас попробую сделать... или получится, или у меня ноут задымится ахах



  • @artihorror
    как вам такой вариант. берем игнор лист в список(ресурс в список). потом список обьеденяем в одну строку. потом if. с выражением поиск части строки. строка - это наш весь игнор лист в одлной строке, а часть котрую ищем - у каждого свое... мне кажется одну строку в одной строке будет искать быстрее... (Неудачный вариант. не работает)



  • Надо курить алгоритмы поиска и пробовать реализовать на басе. Например https://habrahabr.ru/post/111449/



  • @smurfik 0_1488367876547_123.xml для себя использую похожий метод. Обрабатывает много и быстро, ошибки исключены.



  • @artihorror искать алгоритмы, придумывать чето... Капай в сторону баз данных, там уже и нашли лучшие алгоритмы и все уже придумали. 1 раз подключил все че надо и пусть у тебя будут хоть миллионы строк, а не какие то 10-50к, все будет работать годно

    Я использую php/mysql, но тут вроде БАСА БД появилась или появляется(не слежу, нет необходимости).
    Никто не вкурсе, sqllite подключить можно? никто не интересовался этой мини бд-шкой?



  • @artihorror said in Список игнорирования:

    чем больше список, тем больше ресурсов для использования требует. вот такой вот текстовичек
    у меня ни в какую не работает.
    брать строку и искать ее в списке(действие "содержит"). потом if результат поиска == true - запретить запрос.

    Попробуйте сделать так.

    1. Взять md5 от каждой строки в файле.
    2. Разбить один большой файл на множество маленьких, так, чтобы в каждом файле были только строки, которые начинаются с определенных символов. Например, в файле aaa.txt - все строки начинаются c aaa, в файле 123.txt - все строки начинаются c 123, и т. д.
    3. Искать сначала файл, а потом шерстить в его содержимом.

    Поиск будет приблизительно в 16*16*16 раз быстрее)


Log in to reply
 

  • 4
  • 4
  • 4
  • 5
  • 2
  • 7
  • 2
  • 7