wyszukiwanie stringów które mają wspólny podciąg

wyszukiwanie stringów które mają wspólny podciąg
Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1801
0

Pytanie z mongo ale jak macie jakieś pomysły z innych baz to też poproszę o info ;)
Mam kolekcje dokumentów które w polu nazwa mają
"blebleble WIOSNA"
"qkekqkeqke"
"brrrr "
"chrum chrum WIOSNA"
no i chciałbym żeby mi znalazło ten pierwszy i ostatni. Przy czym nie wiem jaki to będzie tekst może to być WIOSNA a może CHOLERA ;)
oczywiście zakładam że podam jakąś minimalną długość podciągu np. 10

TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: 700m n.p.m.
  • Postów: 681
1

To ma być w czystym mongo, czy zakładasz korzystanie z jakiegoś języka?

Po pierwsze żeby to działało szybko to trzeba stworzyć jakiś indeks znormalizowanych słów - czyli np. lowercase.

Następnie jest w mongo funkcja agregująca do splitu wg. regex:

https://www.mongodb.com/docs/manual/reference/operator/aggregation/split/

No i teraz trzeba by w mongo zrobić jakąś funkcję:

https://www.mongodb.com/developer/products/mongodb/use-function-accumulator-operators/

która to poskłada razem, czyli każdy string rozbija splitem, i szuka wśród innych stringów, które jeszcze nie zostały sprawdzone - i tutaj przydałby się jakiś numeryczny id, i sortowanie wg. niego i szukanie wśród tych stringów które mają id większe od obecnego - jeżeli sortowanie jest rosnąco.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.