[fixed] Zoekfunctie: minimale woordlengte op 3 tekens zetten

Overzicht

Sponsored by: Vacatures door Monsterboard

Joren de Wit

Joren de Wit

11/08/2010 16:39:28
Anchor link
De zoekfunctie geeft op dit moment geen resultaten op zoekopdrachten als 'OOP', 'PHP' of 'SQL'. Vermoedelijk komt dit doordat de minimale woordlengte van woorden die geïndexeerd worden nog op de standaardwaarde 4 staat.

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
 
PHP hulp

PHP hulp

23/11/2024 20:25:15
 
B a s
Beheerder

B a s

14/08/2010 13:59:10
Anchor link
Goed idee Blanche. Ik ga het even met de webhoster overleggen.
 
Tobias Tobias

Tobias Tobias

14/08/2010 16:24:13
Anchor link
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)
 
B a s
Beheerder

B a s

15/08/2010 11:19:02
Anchor link
Hij sorteert dit op moment op nieuwste items. Misschien even een optie inbakken of hij sorteert op enkel relevantie of op relevantie en datum plaatsing?

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, ..
 
Jelmer -

Jelmer -

15/08/2010 12:29:23
Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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));
?>

En kiezen maar!
 
B a s
Beheerder

B a s

15/08/2010 12:31:07
Anchor link
lol

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.
 
 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.