Versio

[fixed] Zoekfunctie: minimale woordlengte op 3 tekens zetten

Overzicht

Joren de Wit
Beheerder

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

PHP hulp

24/05/2012 16:15:16
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Bas Kreleger
Beheerder

Bas Kreleger

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)
 
Bas Kreleger
Beheerder

Bas Kreleger

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 rrrr

Jelmer rrrr

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!
 
Bas Kreleger
Beheerder

Bas Kreleger

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