/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Search engine?
Fra : konsulenten


Dato : 25-06-01 09:55

Hej alle sammen,

Jeg har lavet en search engine som søger på indekserede ord i MS SQL.
Det køre også temmelig godt, bortset fra at min søgning tager for lang
tid.

TABEL :

Word varchar(50) (index)
Url varchar(1024)

Når jeg søger efter et enkelt ord så tager det ca. 2 sek, men når jeg så
søger efter 2 ord, tager søgningen helt op til 30 sekunder (IKKE SÅ
GODT!), og 3 ord så går det helt i kage. Det er som om, MS SQL server
ikke laver indeks på temporere tabeller, eller den ignore mine indekser,
så jeg ved ikke om det er en option som skal sættes op i SQL Server.

Er der nogen af jer som kender til problemet? Eller kender et sted hvor
jeg kan finde informationer om måden at bygge en search engine? Når jeg
kigger på www.google.com, og ser deres tider, er det mig en gåde, for så
langt ned kan jeg ikke engang komme bare med søgning af et ord.

Konsulenten

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
James Olsen (25-06-2001)
Kommentar
Fra : James Olsen


Dato : 25-06-01 13:05


"konsulenten" <konsulenten.news@kandu.dk> wrote in message
news:T_CZ6.2047$lf5.391384@news010.worldonline.dk...
> Hej alle sammen,
>
> Jeg har lavet en search engine som søger på indekserede ord i MS SQL.
> Det køre også temmelig godt, bortset fra at min søgning tager for lang
> tid.
>
> TABEL :
>
> Word varchar(50) (index)
> Url varchar(1024)
>
> Når jeg søger efter et enkelt ord så tager det ca. 2 sek, men når jeg så
> søger efter 2 ord, tager søgningen helt op til 30 sekunder (IKKE SÅ
> GODT!), og 3 ord så går det helt i kage. Det er som om, MS SQL server
> ikke laver indeks på temporere tabeller, eller den ignore mine indekser,
> så jeg ved ikke om det er en option som skal sættes op i SQL Server.

Det lyder lidt som om du laver en søgning og indsætter resultatet i en
temporer tabel og derefter søger i den, hvis der er flere søge ord, og så
fremdeles ? Hvis det er korrekt så er det egentligt ikke så underligt
hvorfor din SQL Server er ved at gå kold. Prøv at tænke på den mængde data
som du flytter rundt på den måde (intern båndbrede). Under forudsætning af
at jeg har gættet rigtgit så har du ikke så mange muligheder andet end at
komme op med et nyt design - for det der kommer aldrig ud over stepperne.

Hvis det skal baseres på SQL Server (eller en anden DBMS) så skal du finde
en måde at søge i nogle realiserede (permanente) tabeller. Og udgangspunkt
skal du ikke være så bange for hvormeget dine data fylder med indeks, men
prøv at se på query planen for dine forespørgsler og så hvor den er gal.

Skriv eventuelt noget med om hvordan det er organiseret og hvad det er man
skal kunne søge på.

>
> Er der nogen af jer som kender til problemet? Eller kender et sted hvor
> jeg kan finde informationer om måden at bygge en search engine? Når jeg
> kigger på www.google.com, og ser deres tider, er det mig en gåde, for så
> langt ned kan jeg ikke engang komme bare med søgning af et ord.
>

Du må endelig ikke sammenligne en løsning baseret på MS SQL Server med hvad
der foregår hos Google - de har en dedikeret server (ja ok der er fysisk
flere) specielt til formålet. Prøv at kigge her
http://www.google.com/technology/index.html der står lidt om hvordan det
fungere.



> Konsulenten
>
> --
> Leveret af:
> http://www.kandu.dk/
> "Vejen til en hurtig løsning"
>



konsulenten (25-06-2001)
Kommentar
Fra : konsulenten


Dato : 25-06-01 13:51

Hej James,
Tak for dit lange svar, og jeg kan godt se, mit indlæg manglede nogle
informationer, så vi prøver lige igen :

Først mine tabeller :

Tabel words - word varchar(50), wid number;
Tabel wordmap - wid number, pnr number;
Tabel Urls - pnr number, url varchar(500);

Herefter en søgning
Find den side hvor KURT NIELSEN står:

select u.url from
urls u
,(select pnr
from words w
,wordmap m
where w.wid = m.wid and word like 'KURT%') x1
,(select pnr
from words w
,wordmap m
where w.wid = m.wid and word like 'NIELSEN%') x2
where x1.pnr = x2.pnr and u.pnr = x1.pnr;


Hvis x1 fyres af alene tager det under 1 sek.
Hvis x2 fyres af alene tager det under 1 sek.
Men i den sammensatte form er det op til 30 sec.


"James Olsen" skrev d. 25-06-01 13:05 dette indlæg :
>
> "konsulenten" <konsulenten.news@kandu.dk> wrote in message
> news:T_CZ6.2047$lf5.391384@news010.worldonline.dk...
> > Hej alle sammen,
> >
> > Jeg har lavet en search engine som søger på indekserede ord i MS
SQL.
> > Det køre også temmelig godt, bortset fra at min søgning tager for
lang
> > tid.
> >
> > TABEL :
> >
> > Word varchar(50) (index)
> > Url varchar(1024)
> >
> > Når jeg søger efter et enkelt ord så tager det ca. 2 sek, men når
jeg så
> > søger efter 2 ord, tager søgningen helt op til 30 sekunder (IKKE SÅ
> > GODT!), og 3 ord så går det helt i kage. Det er som om, MS SQL
server
> > ikke laver indeks på temporere tabeller, eller den ignore mine
indekser,
> > så jeg ved ikke om det er en option som skal sættes op i SQL Server.
>
> Det lyder lidt som om du laver en søgning og indsætter resultatet i en
> temporer tabel og derefter søger i den, hvis der er flere søge ord, og

> fremdeles ? Hvis det er korrekt så er det egentligt ikke så underligt
> hvorfor din SQL Server er ved at gå kold. Prøv at tænke på den mængde
data
> som du flytter rundt på den måde (intern båndbrede). Under
forudsætning af
> at jeg har gættet rigtgit så har du ikke så mange muligheder andet end
at
> komme op med et nyt design - for det der kommer aldrig ud over
stepperne.
>
> Hvis det skal baseres på SQL Server (eller en anden DBMS) så skal du
finde
> en måde at søge i nogle realiserede (permanente) tabeller. Og
udgangspunkt
> skal du ikke være så bange for hvormeget dine data fylder med indeks,
men
> prøv at se på query planen for dine forespørgsler og så hvor den er
gal.
>
> Skriv eventuelt noget med om hvordan det er organiseret og hvad det er
man
> skal kunne søge på.
>
> >
> > Er der nogen af jer som kender til problemet? Eller kender et sted
hvor
> > jeg kan finde informationer om måden at bygge en search engine? Når
jeg
> > kigger på www.google.com, og ser deres tider, er det mig en gåde,
for så
> > langt ned kan jeg ikke engang komme bare med søgning af et ord.
> >
>
> Du må endelig ikke sammenligne en løsning baseret på MS SQL Server med
hvad
> der foregår hos Google - de har en dedikeret server (ja ok der er
fysisk
> flere) specielt til formålet. Prøv at kigge her
> http://www.google.com/technology/index.html der står lidt om hvordan
det
> fungere.
>
>
>
> > Konsulenten
> >
> > --
> > Leveret af:
> > http://www.kandu.dk/
> > "Vejen til en hurtig løsning"
> >
>
>

--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


Anders Johannsen (25-06-2001)
Kommentar
Fra : Anders Johannsen


Dato : 25-06-01 14:29

In article <T_CZ6.2047$lf5.391384@news010.worldonline.dk>, "konsulenten"
<konsulenten.news@kandu.dk> wrote:

> Jeg har lavet en search engine som søger på indekserede ord i MS SQL.
> Det køre også temmelig godt, bortset fra at min søgning tager for lang
> tid.

Glimpse er i den forbindelse umådeligt hurtigt, men har selvfølgelig ikke
helt samme fleksibilitet som et dbms

/A
--
Nu med transport til Midtfynsfestival -- www.midtfyn.com

Mikkel Bundgaard (25-06-2001)
Kommentar
Fra : Mikkel Bundgaard


Dato : 25-06-01 21:18

konsulenten <konsulenten.news@kandu.dk> wrote in message
news:T_CZ6.2047$lf5.391384@news010.worldonline.dk...
> Hej alle sammen,
>
> Jeg har lavet en search engine som søger på indekserede ord i MS SQL.
> Det køre også temmelig godt, bortset fra at min søgning tager for lang
> tid.
[Snip ]
> Er der nogen af jer som kender til problemet? Eller kender et sted hvor
> jeg kan finde informationer om måden at bygge en search engine? Når jeg
> kigger på www.google.com, og ser deres tider, er det mig en gåde, for så
> langt ned kan jeg ikke engang komme bare med søgning af et ord.
>
> Konsulenten
>
Hej Konsulenten

Så vidt jeg husker er det et sted, der hedder
www.SearchEngineWatch.com, der indeholder en masse omkring
søgemaskiner. For at få de bedst artikler, skal man dog være medlem
(som der vist koster penge).

Ellers søg på google efter implementation af søgemaskiner, den burde
give dig nogle gode links .

--
Mvh.
Mikkel Bundgaard
RUC Datalogi
http://officehelp.gone.dk



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste