Czy używanie wyszukiwarki Google w swojej witrynie jest kiepskim pomysłem?

11

Jeśli masz aplikację internetową z dużą ilością rekordów, czy używanie wyszukiwarki Google na swojej stronie nie jest dobrym pomysłem? Zamiast pisać funkcję wyszukiwania i zajmować się kwestią wydajności, „zlecasz” funkcję wyszukiwania firmie Google.

nieznany z nazwiska
źródło
1
To budzi moją ciekawość. Czy mógłbyś podać więcej szczegółów na pytanie? ponieważ uważasz, że to może być zły pomysł? masz więcej dokumentacji sprawi, że pomyślisz, że to zły pomysł? Czytasz coś, co sprawiło, że myślisz, że to dostałeś?
RTOSkit
Cześć @RTOSkit, opracowałem kilka małych aplikacji internetowych, a funkcja wyszukiwania wciąż pozostaje jednym z największych wyzwań. Muszę wziąć pod uwagę dokładność wyniku wyszukiwania, a także wydajność serwera. Osobiście nie sądzę, że to taki zły pomysł, ale nieco „niezręczny”, ponieważ jest to jedyna część aplikacji, która nie została opracowana przez Ciebie.
John Doe
Ok, rozumiem, @ JCL1178 zaoferował ci optymalną odpowiedź.
RTOSkit

Odpowiedzi:

3

Jak wspomniano w odpowiedzi JCL1178, Google zwróci wyniki tylko dla tego, co zostało zindeksowane. Oznacza to nie tylko, że niektóre wyniki mogą się nigdy nie pojawić, ale jeśli z jakiegoś powodu Twoja witryna zostanie zindeksowana, utraciłeś wyszukiwanie ze swojej witryny. Posiadanie czegoś tak ważnego jak wyszukiwanie opiera się na nieobsługiwanej usłudze innej firmy jest niebezpieczne.

Ponieważ masz bezpośredni dostęp do danych, możesz zapewnić znacznie lepsze, bardziej szczegółowe wyszukiwanie niż Google lub jakakolwiek inna wyszukiwarka. Możesz zezwolić użytkownikom na wyszukiwanie określonych pól, odfiltrowując wszelkie inne trafienia z niepowiązanych pól. Google nie ma kontekstu dla poszukiwanych wartości, więc poszukiwanie rodziny „Smith” może przynieść jakiekolwiek wyniki dla osób mieszkających w „Smith St.” lub ktoś z zawodu „kowal”.

Większość popularnych relacyjnych baz danych ma możliwość wyszukiwania pełnotekstowego, więc dodanie podstawowej funkcji wyszukiwania może być tak proste, jak napisanie kilku instrukcji SQL.

Korzystam z niestandardowych wyszukiwarek Google do ogólnego wyszukiwania w swoich witrynach, ale nie używałbym ich do wyszukiwania informacji przechowywanych w bazie danych, chyba że moja zdolność do wyszukiwania pełnotekstowego była ograniczona (ograniczenia oprogramowania, problemy z wydajnością spowodowane sprzętem / rozmiar zestawu danych). Zależy to od stopnia złożoności twoich danych i tego, jak ważne jest wyszukiwanie w nawigacji po danych ... ale zapewnienie własnych możliwości wyszukiwania wydaje mi się najbezpieczniejszym wyborem.

Jacob Hume
źródło
Wszystkie bardzo dobre punkty i całkowicie pominąłem możliwość cofnięcia indeksowania w mojej odpowiedzi.
JCL1178
Cześć, Jacob Hume. Świetna uwaga na temat polegania na usługach stron trzecich. To właśnie miałem na myśli. Eksperymentowałem z wyszukiwaniem pełnotekstowym, a także różnymi wyszukiwarkami, ale jak wspomniałem w jednym z moich komentarzy, zawsze mam problemy z dokładnością wyników i / lub wydajnością serwera. Jeszcze raz bardzo dziękuję za wkład.
John Doe
3
Zamiast więc mieć 0,00001% szansy na zmniejszenie wyszukiwania (istnieje szansa, że ​​Google nie będzie zindeksować Twojej witryny, chyba że zrobisz coś naprawdę głupiego), proponujesz, aby strona miała naiwną implementację wyszukiwania pełnotekstowego 100% czasu? Nie jest to dobry kompromis IMO. Wyszukiwanie pełnotekstowe jest bardzo przydatną funkcją umożliwiającą szybki dostęp do podstawowej funkcji wyszukiwania, ale zbudowanie użytecznej funkcji wyszukiwania, a tym bardziej przyjaznej dla użytkownika jak Google, jest nieco bardziej skomplikowane niż „pisanie kilku instrukcji SQL”.
Lèse majesté
2
Prawdziwe wyszukiwarki, takie jak Google, Solr, Lucene, Sphinx itp., Mogą wykonywać takie czynności, jak ważenie bliskości słów kluczowych, wyszukiwanie podłańcuchów, odległość levenshtein / metafon / wordstemming / wyszukiwanie tekstów rozmytych itp., Które znacznie poprawiają użyteczność. Wyszukiwanie pełnotekstowe jest dobrym punktem wyjścia, ale tak naprawdę zajmuje dużo więcej pracy, aby zbudować przyzwoitą funkcję wyszukiwania, która może konsekwentnie zwracać trafne wyniki. Większość programistów, którzy nie są ekspertami w dziedzinie rozwoju wyszukiwarek, dobrze skorzystałaby z usługi innej firmy lub przynajmniej sprawdzonego gotowego rozwiązania, takiego jak Lucene lub Solr.
Lèse majesté
2
Nawet duże firmy, takie jak Oracle, mają trudności z wewnętrznym tworzeniem przydatnych wyszukiwań w całej witrynie (porównaj wyszukiwanie dokumentacji MySQL.com przed i po przejęciu Oracle). Twoja charakterystyka wyszukiwarki Google jest bardziej odpowiednia dla wyszukiwania pełnotekstowego domowej roboty niż wyszukiwarka Google, która faktycznie używa prawdopodobnie najbardziej zaawansowanych heurystyk i algorytmów przewidywania intencji użytkownika w branży.
Lèse majesté
7

Na potrzeby tej odpowiedzi zakładam, że mówisz o wyszukiwarce niestandardowej Google / wyszukiwarce witryny, a nie o Google Search Appliance, który byłby BARDZO dobrym pomysłem, choć kosztownym.

Outsourcing wyszukiwania w wyszukiwarce niestandardowej Google nie jest złym pomysłem, ale może nie być najlepszym rozwiązaniem dla Twojej witryny / modelu biznesowego / cokolwiek innego z powodu ograniczeń i zasad Google.

Wyszukiwanie niestandardowe to w zasadzie to samo, co pisanie search terms site: yoursite.comw Google, z tym że nie musisz określać site: yoursite.comczęści i możesz osadzić formularz wyszukiwania w swojej witrynie. Site Search to niewolna wersja Custom Search z większą ilością opcji dostosowywania i pewnym dostępem do API. Istnieją pewne inne różnice między wyszukiwaniem niestandardowym / wyszukiwaniem witryny a używaniem właściwego Google, które wyjaśniono w powiązanej dokumentacji, ale ważne jest, aby pamiętać, że działają one tylko z tym, co widzi Google.

Tak więc „wiele rekordów” w aplikacji internetowej musi być w pełni możliwe do przeszukania przez Google, aby wyszukiwarka niestandardowa naprawdę zwracała dokładne wyniki. Jeśli z jakiegokolwiek powodu ograniczysz / ochronisz zapisy przed publicznym wyświetleniem, musisz pokazać Google te same ograniczone wyniki, które zobaczyłby wylogowany użytkownik, lub możesz poprosić Google o zindeksowanie całej zawartości, ale musisz przestrzegać reguł dotyczących pierwszego kliknięcia za darmo lub ryzykuj, że zostaniesz zjedzony przez wściekłą Pandę. Jeśli przedstawisz jedną rzecz Google, a drugą odwiedzającym, to jest to maskowanie, a wygenerujesz karę za swoją witrynę. Jeśli z jakiegoś powodu nie można wyszukać wszystkich rekordów, które chcesz uwzględnić w wynikach wyszukiwania, wówczas skorzystanie z Google Custom Search lub Site Search nie jest dobrym pomysłem dla twojego konkretnego modelu.

Ale jeśli możesz zezwolić na indeksowanie wszystkiego, nie masz nic przeciwko temu, jak Google zwraca wyniki wyszukiwania w wyszukiwarce niestandardowej (lub nie chcesz płacić za wyszukiwanie w witrynie, aby to naprawić) i jesteś gotów zaryzykować, że strona krytyczna nie zostanie zaindeksowana z jakiegokolwiek powodu możesz i powinieneś poważnie to rozważyć.

JCL1178
źródło
1

Sugeruję skorzystanie z wyszukiwarki Google, jeśli chcesz, aby wszystkie dane z Twojej witryny były widoczne również dla innych. Zaoszczędzi to dodatkowego kodowania.

Jeśli jest to system zamknięty i nie chcesz, aby inni widzieli dane, uzyskaj własny system wyszukiwania.

Sidh
źródło