Система с открытым исходным кодом / сервис / база данных, альтернативная алгоритму поиска - PullRequest
4 голосов
/ 24 октября 2019

У меня есть собственный алгоритм (написанный на Java) для поиска в списке строк (A) строки, которая является самой длинной подстрокой другой строки (B) (самая длинная общая подстрока alg, но она не подходит в этом случае, потому чтосписок строк большой (100k +).

    EX:

    B -> "sadsaf dsfsc adsa 4 sad3 dfa fgs adsafd"

    A -> ["fdsdf dsa", "adsa", "4 sad3", "cdsdfds dsa", "cx d45"]

    And the result is "4 sad3" since its a subtring of B and also is 
    longer than "adsa" which is also a substring of B

Я пытаюсь найти альтернативу алгоритму поиска, использующему system / service / database для того, чтобы вывести этот алгоритм из внешнего вида.

То, что я пробовал до сих пор, это:

  • mysql, но он довольно медленный и требует как минимум ssd и мощный процессор
  • asticsearch с использованием запроса percolateкоторый я еще не тестировал, но кажется многообещающим
  • redis, но я не нашел способа реплицировать alg, используя их синтаксис

Так что любое предложение относительно системы/ service / database , которая может сделать это относительно прилично с точки зрения производительности, приветствуется, так как чем больше у меня будет вариантов, тем лучше (быстрее) будет решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...