• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Projekt - wyszukiwarka do bardzo długich tekstów

Object Storage Arubacloud
0 głosów
198 wizyt
pytanie zadane 30 kwietnia 2017 w JavaScript przez culprit Początkujący (290 p.)
Otóż potrzebuję napisać aplikację, która będzie umożliwiała wyszukiwanie fraz w tekście (około 4 500 000 znaków).

Można oczywiście używać zwykłego wyszukiwania dostępnego w edytorach txt, ale nie jest to ani wygodne ani szybkie i nie pozwala wyświetlać wszystkich wyników w jednym miejscu. Docelowo aplikacja ma posiadać również funkcję porównywania fragmentów dla tekstów w różnych językach.

Tu pojawia się pytanie, mianowicie jakich technologii użyć? Chciałbym żeby mechanika była w javascript, ponieważ tego języka się aktualnie uczę, ale jeśli jest jakiś lepszy (szybszy) język do tego celu, to pomyślę nad zmianą. Jednak większym problemem jest, co zrobić z danymi żeby to miało sens. Czy powinno się je umieścić w jakiegoś typu bazie danych? A może jako zwykłe pliki tekstowe?

Będę bardzo wdzięczny jeśli ktoś mi napisze (tylko ogólne) poszczególne kroki, jak się do tego zabrać.

1 odpowiedź

+3 głosów
odpowiedź 30 kwietnia 2017 przez Magicone Nałogowiec (45,100 p.)
wybrane 1 maja 2017 przez culprit
 
Najlepsza

Apka taka stworzona przy użyciu webów może działać przez przeglądarkę, wówczas skorzysta z elementu input[type=file] w celu wybrania pliku z komputera przez użytkowinka, FileReader API w celu odczytania wybranego pliku do zmiennej. Tekst, który ma być znajdowany w pliku powinien być określany w jakimś elemencie input[type=text]. Szukanie pozycji wybranego tekstu odbędzie się za pomocą String.prototype.indexOf, tutaj przyda się użycie drugiego parametru jeśli będziesz chciał wyszukać kilka fraz. Przyda się też operowanie na scrollu - jeśli załadujesz cały plik na stronę to musisz wiedzieć gdzie w tekście znajduje się konkretna fraza, tutaj też warto wspomnieć o tym, żeby wyróżnić te frazy, tj. owinąć je w jakiś element z daną klasą, która sformatuje go w widoczny sposób.

komentarz 1 maja 2017 przez culprit Początkujący (290 p.)
Dziękuję za przydatne wskazówki.

Zależy mi na tym by nie trzeba było szukać w każdym pliku po kolei (mam ich 300), a jednocześnie żeby wynik wyszukiwania zawierał informację, w którym pliku się znajduje (dlatego nie chcę ich zlepiać w jeden).
Czy webowe języki pozwalają na coś takiego?
komentarz 1 maja 2017 przez Magicone Nałogowiec (45,100 p.)
Tak, z tego co pamiętam masz atrybut [multiple] do input[type=file], wtedy możesz każdy plik odseparować.
komentarz 1 maja 2017 przez culprit Początkujący (290 p.)
Ostatnia moja wątpliwość to, tak jak pisałem wcześniej, porównywanie wyników. Czyli mam dwa teksty, jeden po polsku, drugi po angielsku i chcę, żeby wynik wyszukiwania z tekstu po polsku mógł się wyświetlać z odpowiadającym mu fragmentem po angielsku (lub odwrotnie). Na szczęście nie są to ciągłe teksty (wtedy to by było raczej niemożliwe), tylko transkrypcje wypowiedzi bohaterów. Czy da się je jakoś powiązać dla uzyskania powyższego efektu? (nawet jeśli wymagałoby to indeksowania wszystkiego ręcznie).
komentarz 1 maja 2017 przez Magicone Nałogowiec (45,100 p.)
Jak znajdziesz API, które bezproblemowo tłumaczy w takim kontekście jaki tylko chcesz to tak. Ale takiego API nie ma. xD
komentarz 1 maja 2017 przez culprit Początkujący (290 p.)
Ale ja nie potrzebuje nic tłumaczyć. Po prostu mam dwa teksty, w których znajdują się
"imie bohatera": "wypowiedź"
"imie bohatera": "wypowiedź"
itd.
i tylko wypowiedzi różnią się w zależności od języka. Problemem jest czy da się to powiązać, tak by program po znalezieniu wyniku np. w pierwszym pliku w 98 linijce mógł wyświetlić jednocześnie 98 linijkę z drugiego pliku.
komentarz 1 maja 2017 przez Magicone Nałogowiec (45,100 p.)
Tak.

Podobne pytania

0 głosów
1 odpowiedź 387 wizyt
+6 głosów
1 odpowiedź 8,093 wizyt
0 głosów
1 odpowiedź 308 wizyt

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...