L'action
{{TextSearch}} permet de lister les pages contenant un ou plusieurs mots entré(s) par l'utilisateur.
On peut la voir en action sur la page
RechercheTexte.
Cette action utilise la fonction d'indexation en texte intégral de
MySQL et hérite de ses qualités et défauts :
- la recherche est quasi instantanée
- la recherche est limitée à des mots de 4 lettres au minimum
- la recherche n'accepte pas de caractères génériques (ou caractères joker : ".*?", etc.)
- la recherche n'est pas lémmatisée : la recherche de "protocole" ne trouvera pas "protocoles" ; la recherche de "lascif" ne trouvera pas "lascive"
- la recherche n'est pas effectuée sur une partie de MotWiki : la recherche de "text" ne donnera pas ActionTextSearch pour résultat
Les paramètres suivants sont disponibles :
- label="texte devant la zone de saisie" (optionel)
- Note : affichage d'un label "Ce que vous souhaitez chercher : " si ce paramètre est absent
- Note : label non affiché si ce paramètre est vide
- size="largeur de la zone de saisie" (optionel)
- Note : largeur par défaut à 40
- button="texte à mettre sur le bouton" (optionel)
- Note : affichage d'un bouton "Chercher" si ce paramètre est absent
- Note : bouton non affiché si ce paramètre est vide
- phrase="texte à chercher" (optionel)
- Note : label, zone de saisie et bouton non affichés si ce paramètre est présent
- separator="séparateur des éléments de la liste des résultats" (optionel)
- Note : affichage sous forme de liste numérotée si ce paramètre est absent ou vide
- Note : affichage sous forme de d'énumération (sur une ligne) si ce paramètre est présent et non vide
Le comportement par défaut (sans aucun paramètre) reste celui de l'action dans sa version précédente.
--
ProgFou
Discussions
Si vous souhaitez un moteur de recherche plus performant pour votre site, vous pouvez vous tournez vers l'une des solutions suivantes :
- ht://Dig [en] (logiciel libre)
- mnoGoSearch [en] (logiciel libre)
- PhpDig [fr] (logiciel libre, non testé, semble prometteur, bien documenté, cherche "repreneur") -- DavidDelon
- Nutch [en] [fr] (logiciel libre, nouveau venu dans les moteurs de recherche)
- Google Search Appliance [en] : Google dans une boite pour votre intranet ; quelques infos externes :
--
CharlesNepote
Paramètre "choose"
un paramètre "choose" = one/several pour proposer à l'utilisateur de choisir un/plusieurs élément(s) parmi la liste
Permettre le choix parmi une liste permet à l'utilisateur de proposer une question et d'attendre d'un autre utilisateur un choix. il s'agit tout simplement de
wiki-democratie. Le wiki permet à tous d'écrire un texte. Pour que ce geste cesse d'être une simple affirmation de son point de vue (démocratie-un), wiki permet le lien
Refhttp://paul-lemmingseo2.com/, le chaînage social entre les textes, les idées et leurs utilisateurs (démocratie-deux) ici wiki peut permettre que chacun affirme non plus un texte mais la nécessité du choix (démocratie-trois) préalable pour tous de l'acceptation des différences et du conflit... --
FidelioEspoir
Tu veux dire un menu déroulant ? Et que se passe-t-il lorsque l'utilisateur a choisi ? Je ne comprend pas bien ton besoin. Peux-tu décrire la séquence complète des opérations et éventuellement faire une petite maquette ? --
CharlesNepote
L'action choisir propose la possibilité de choisir un ou plusieurs éléments d'une liste écrite dans une page (voir trail pour la définir dans le sript choisir). Comment ? pop-up, fenêtre ? ça c'est de la techenike ! j'en sais rien Bon l'utilisateur a choisi ? : son choix est marqué après l'action.
NB cette solution n'autorise qu'un choix visible : le plus récent. Dans mon site j'ai bricolé une action "demander" qui installe dans la page un formulaire avec textarea (contenu libre). La réponse est automatiquement écrite comme un commentaire de la page (ça me permet facilement d'avoir une signature et une date). Cette solution pourrait être ici choisie par un paramètre.
Plus généralement, la nouvelle textsearch + une action demandertextelibre + trail ferait de wiki un instrument d'une puissance insoupconnée puisque le maillage cesserait d'être uniquement préétabli par l'utilisateur-rédacteur (passage à la dimension deux). --
FidelioEspoir
Une action textsearch généralisée à plusieurs wikinis
L'amélioration de textsearch est telle qu'on en redemande ! ;-)) Voila, je crois avoir entendu d'un projet entre tous les wikis...En attendant, tous les wikinis utilisent tous l'action textsearch..Serait-il possible de faire fonctionner l'action non plus sur les pages d'un seul wiki mais sur les pages de plusieurs wikis dont la liste serait inscrite dans une page (comme peut l'être celle des interwikis). Pourquoi ? Permettre que le wikini utilisé ne soit plus seul , avec tous les dangers qu'entraîne cette unicité. Plusieurs wikinis pourraient ainsi mettre en commun leur savoir ....2004-05-23 -- 14 : 59 --
FidelioEspoir
Une action de recherche plus "libre"
J'ai fait une action qui, basée directement sur une requête SQL, permet l'utilisation de paramètres de recherche spéciaux:
- "_" pour remplacer un caractère inconnu.
- "%" pour remplacer une chaîne de caractères inconnus.
- Utilisation de moins de 4 caractères de recherche
Info sur
ContributionsClesEnMain et
chez moi.
Pour simplifier, je crée une page ici: ActionNewTextSearch
--
Nicephore17
Ce sur quoi la recherche porte
La recherche de texte sur tout le wiki se fait par une requete
MySQL. La fonction
MySQL en question (MATCH ... AGAINST) est tres bien faite, puisqu'elle est assez tolerante (casse, accents). Cependant la table wikini_pages ou s'effectue la recherche contient du "code wiki", et non pas directement ce qui est affiche dans le navigateur. Tapez pour voir "include", "table", "page", etc., dans le champ de recherche, et toutes les pages qui contiennent ces balises de formatages apparaitront!
C'est vrai que pour corriger ce comportement ce serait assez fastidieux, le plus simple serait de rajouter une colonne dans wiki_pages, qui contiendrait le meme texte sans formatage. Mais ca doublerait presque la taille du wiki. On alors trifouiller dans
MySQL pour voir s'il peut generer ses index sur un "champ calcule" et non sur une vraie colonne.
PS: qui veut ajouter des accents dans ce que j'ai dit? moi j'ai qu'un qwerty dans ce labo :p
--
RipouneT
Apparemment les réponses sont données dans l'ordre du plus grand nombre d'occurence dans chaque page. Par exemple, si je recherche le mot "Bonjour" et qu'il apparait 3 fois dans la
Page2 et 2 fois dans la
Page1, le résultat sera :
Comment faire pour que la page de recherche affiche les résultats par ordre alphabétique ?
Et y a t-il un moyen pour faire une recherche permettant d'afficher les pages contenant plusieurs mots clés et uniquement celles ou TOUT les mots figurent ?
AnDre