Czy ktoś może skierować mnie w dobrym kierunku? Naprawdę nie mam doświadczenia w pisaniu kodu, ale jestem szybkim uczniem. Nie próbuję powiedzieć, że będzie łatwo, ale mam nadzieję, że ktoś może mi pomóc ...
Czy ktoś może skierować mnie w dobrym kierunku? Naprawdę nie mam doświadczenia w pisaniu kodu, ale jestem szybkim uczniem. Nie próbuję powiedzieć, że będzie łatwo, ale mam nadzieję, że ktoś może mi pomóc ...
Odpowiedzi:
Napisałem to na blogu, który kiedyś miałem, kiedy .... nie ma go już w sieci, więc ... oto jest! :
Jak napisać wyszukiwarkę
Darren Rowse z probolgger.net prowadzi projekt pisania grupowego na dowolny temat. Jest to jeden z niewielu blogów, które regularnie czytam, więc doszedłem do wniosku, że nie napiszę czegoś, co warto przeczytać dla odmiany, a raczej mojej standardowej brutalnej wypowiedzi, w której grożę ci dźgnięciem Hugo Chavesa w gardło.
Postanowiłem napisać „Jak napisać wyszukiwarkę”. Wybrałem ten temat z dwóch powodów:
Mój klient jest sprzedawcą internetowym o znacznych rozmiarach, więc nie przeszukuję całej witryny tylko jej witryny, a konkretnie produktów na sprzedaż w jej witrynie. Niemniej jednak te same techniki mogą być użyte do napisania bardziej skomplikowanej techniki wyszukiwania w Internecie. Wiem, że to nie jest blog techniczny, więc nie będę zagłębiał się w szczegóły techniczne, nie będę też omawiał wymagań dotyczących zasilania / mocy obliczeniowej ani indeksowania sieci.
Używam dość prostej techniki, mam tabelę (tblKe words) z trzema polami:
Pierwszą rzeczą, którą robię, jest zbieranie pojedynczych słów z dowolnego miejsca, które jest istotne. Dla mojego klienta wyciągnę słowa z tabeli produktów. W szczególności z pól Itemid, ItemName, ItemShortDescription, ItemLongDescription, Producent, ProducentSKU, Kategoria1, Kategoria2, Kategoria3 ect. Jeśli indeksujesz strony internetowe, możesz pobrać dane z tekstu strony, tytułu strony, adresu URL lub linków na innych stronach, które prowadzą z powrotem do indeksowanej strony.
Wartość masy zależy od tego, skąd pochodzi słowo kluczowe. Na przykład w moim przypadku jednostka SKU produkcji przedmiotu uzyska wagę 100, podczas gdy słowo z nazwy przedmiotu może uzyskać wagę 25. Słowo z opisu przedmiotu może mieć wagę 5. Jeśli indeksujesz strony internetowe, słowa te z tytułu strony może uzyskać wagę 75, a pogrubione słowo z tekstu strony może mieć wagę 10. Jeśli słowo zostanie powtórzone więcej niż raz lub \ i w więcej niż jednym miejscu, należy dodać wagę za każdym razem Pojawia się. Na przykład Jeśli słowo „Koszula” pochodzi z dwóch miejsc dla ItemId = 12345, Nazwa przedmiotu (waga 25) i pojawia się dwukrotnie w ItemLongDescription (waga 5 x 2 = 10), słowo „koszula” miałoby całkowitą wagę 35 dla ItemId = 12345.
Jeśli ktoś szuka „różowej koszuli”, przeszukuję tabelę pod kątem wszystkich wystąpień słów „Różowa” lub „Koszula” i Łącznie wagi. Wyświetlanie przedmiotów o najwyższej całkowitej masie na górze.
SQL:
Select Itemid, sum(weight) as totWeight from tblKeywords
group by itemId having keyword in ('pink','shirt')
Masz więc podstawową (i szybką) wyszukiwarkę. Oczywiście jest jeszcze wiele do zrobienia, takich jak usunięcie interpunkcji, kod HTML i bezwartościowe słowa kluczowe, takie jak „i”, „if”, „or”. Nie dotyczy to wyszukiwania fraz kluczowych, ale możesz użyć podobnego systemu dla fraz, jeśli możesz dowiedzieć się, gdzie zaczynają się i kończą.
Swobodnie rozpowszechniany szkic Wstępu do wyszukiwania informacji będzie twoim głównym materiałem referencyjnym. Obsługuje wyszukiwanie (wyszukiwanie informacji) od poziomu podstawowego do zaawansowanego.
Wyszukiwarki są zbudowane na robotach indeksujących , musisz dowiedzieć się, jak zbudować jednego z tych frajerów, zanim będziesz mógł stworzyć stronę internetową do wyświetlania jej wyników (potrzebujesz szybkiej, wydajnej bazy danych, aby z nią skorzystać).
To jest kurs wprowadzający do CS, który rozpocznie się 20-go, sugeruję, żebyś to sprawdził, jest oferowany bezpłatnie.