[fixed] Zoekfunctie: minimale woordlengte op 3 tekens zetten
Door deze waarde (dat is de ft_min_word_len instelling) op 3 te zetten, zouden deze woorden ook geïndexeerd worden en de zoekfunctie een stuk beter werken. Of dat ook daadwerkelijk het geval is, zou je even aan moeten kijken aangezien ook woorden als 'het' en 'een' geïndexeerd zullen worden. Ik denk echter dat de voordelen opwegen tegen de nadelen :-)
Gewijzigd op 16/08/2010 12:11:12 door B a s
Goed idee Blanche. Ik ga het even met de webhoster overleggen.
kan het aan mij liggen of is de zoekfunctie zowiezo een beetje verrot? Ik kan 20 verschillende zoekwoorden ingeven en hij geeft standaard de laatste x forumberichten, scripts en tuts aan. (in FF)
Toevoeging op 15/08/2010 11:34:24:
Ik heb het Arjen nu gevraagd of hij dit wil aanpassen voor ons. We moeten dan zelf even een lijstje maken met drie letters die straks worden genegeerd. Daarmee doel ik op woorden als: een, het, ..
Code (php)
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
// geen zin in if-jes om array index te controleren hoor...
error_reporting(E_ALL ^ E_NOTICE);
$pdo = new PDO('mysql:host=localhost;dbname=phphulp', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->query('SELECT LOWER(content) FROM scripts
UNION SELECT LOWER(content) FROM tutorials
UNION SELECT LOWER(content) FROM forum_posts');
$word_counts = array();
while($text = $stmt->fetchColumn()) {
$words = explode(' ', $text);
foreach($words as $word)
if(strlen($word) == 3)
++$word_counts[$word];
}
asort($word_counts);
print_r(array_reverse($word_counts));
?>
// geen zin in if-jes om array index te controleren hoor...
error_reporting(E_ALL ^ E_NOTICE);
$pdo = new PDO('mysql:host=localhost;dbname=phphulp', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->query('SELECT LOWER(content) FROM scripts
UNION SELECT LOWER(content) FROM tutorials
UNION SELECT LOWER(content) FROM forum_posts');
$word_counts = array();
while($text = $stmt->fetchColumn()) {
$words = explode(' ', $text);
foreach($words as $word)
if(strlen($word) == 3)
++$word_counts[$word];
}
asort($word_counts);
print_r(array_reverse($word_counts));
?>
En kiezen maar!
Toevoeging op 16/08/2010 11:08:31:
Je kunt nu ook op 3 letters zoeken. Ik zal hem nu ook even wat tweaken want hij vindt niet zo denderend veel op OOP bijvoorbeeld.