Dit is een ander onderwerp dan de 'pricewatch search' die al in FA staat.
-------------------------------------------------------------------------------
Ik zoek nog al eens naar een product binnen de pricewatch. Wat mij opvalt is dat de search daar echt niet goed werkt (of ik moet een 'feat' over het hoofd zien). Ik leg mezelf uit.
Om te testen wil ik dit product vinden:
in.
Zoals je ziet komen van search 1 en 2 op z'n minst 3 van de 4 zoektermen voor, bij optie 3 zelfs allen, behalve dat de volgorde (ram/hd) omgedraaid is.
Echter ik krijg er bij geen van de 3 enige juiste uitslag bij, hoe komt dit? Er wordt alleen gezocht op een reeks, een rij achter elkaar staande gegevens.
In mijn optiek zal de search een stuk beter werken als je zoekt op het voorkomen van een woord/teken in een reeks, zodat de volgorde niet uitmaakt. Wat is immers het verschil tussen '512mb ram 40gb hd' en '40gb 512mb'. Iemand weet zo toch niet hoe een search gedefineerd moet worden?
Een oplossing kwa code kan ik niet echt aandragen, alleen misschien een stukje code dat ikzelf gebruik bij het zoeken op alles (is ASP, tja, en jullie zullen best wel betere code kunnen maken)
Misschien hebben jullie er iets aan!
-------------------------------------------------------------------------------
Ik zoek nog al eens naar een product binnen de pricewatch. Wat mij opvalt is dat de search daar echt niet goed werkt (of ik moet een 'feat' over het hoofd zien). Ik leg mezelf uit.
Om te testen wil ik dit product vinden:
In een gewone zoekmachine vul ik bijvoorbeeldAsus A2500H P4 2.66Ghz 40GB 512MB DVD-RW 15TFT 5 x USB 2.0 Firewire Draagtas
code:
1
2
3
| 40 gig 512 mb of 40 gb 512 mb ram of 512MB 40GB |
in.
Zoals je ziet komen van search 1 en 2 op z'n minst 3 van de 4 zoektermen voor, bij optie 3 zelfs allen, behalve dat de volgorde (ram/hd) omgedraaid is.
Echter ik krijg er bij geen van de 3 enige juiste uitslag bij, hoe komt dit? Er wordt alleen gezocht op een reeks, een rij achter elkaar staande gegevens.
In mijn optiek zal de search een stuk beter werken als je zoekt op het voorkomen van een woord/teken in een reeks, zodat de volgorde niet uitmaakt. Wat is immers het verschil tussen '512mb ram 40gb hd' en '40gb 512mb'. Iemand weet zo toch niet hoe een search gedefineerd moet worden?
Een oplossing kwa code kan ik niet echt aandragen, alleen misschien een stukje code dat ikzelf gebruik bij het zoeken op alles (is ASP, tja, en jullie zullen best wel betere code kunnen maken)
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| <% Dim CompType, t3_advSearch_String 'Store type of query in CompType ie All Words/OR, Any Word/AND or Exact Phrase/EXACT CompType = Request("CompType") SearchColumn = "Expr1" SearchField = "zzz" if(Request("SearchParam") <> "") then SearchField = Request("SearchParam") 'Remove any single quotes from search field to eliminate potential errors. SearchField = Replace(SearchField, "'", "") 'Checks the CompType, Executes this code if the option All words or Any Word is chosen if(CompType <> "EXACT") then t3_advSearch_String = "WHERE " & SearchColumn & " LIKE '%" 'Splits the search criteria into seperate words and stores them in an Array SearchArray=Split(SearchField," ") for i = 0 to Ubound(SearchArray) if i > 0 then 'Builds the sql statement using the CompType to substitute AND/OR t3_advSearch_String = t3_advSearch_String & " " & CompType & " " & SearchColumn & " LIKE '%"& SearchArray(i) & "%'" else 'Ends the sql statement if there is only one word t3_advSearch_String = t3_advSearch_String & SearchArray(i) & "%'" end if next else t3_advSearch_String = "WHERE " & SearchColumn & " LIKE '%" & SearchField & "%'" end if %> |
Misschien hebben jullie er iets aan!
edit:
sorry voor de layout verneuking, kon niet anders dmv de ASP code
sorry voor de layout verneuking, kon niet anders dmv de ASP code
[ Voor 11% gewijzigd door jonggoud.nl op 11-12-2003 09:21 ]
Nieuw (groots) project, mail me wat je er van vindt
Tevens in het bezit van een beeldschone vriendin