Meilleur auteur de réponses
SharePoint 2007 - Recherche par interfixe et par suffixe

Question
-
Pour la recherche par préfixe, j'utilise le WebPart MOSS Wildcard Search (https://wildcardsearch.codeplex.com/) qui fonctionne très bien.
Par contre, d'après ce que j'ai pu lire ici (http://blogs.microsoft.co.il/blogs/adir_ron/archive/2007/07/10/Guidance-on-Wildcard_2F00_Boolean-search-for-SharePoint-2007.aspx) et là (http://msdn.microsoft.com/en-us/library/ms552152.aspx), la recherche par interfixe et par suffixe n'est pas gérée par MOSS 2007.
Est-ce bien le cas ?
Existe-t-il un composant qui permet d'ajouter la prise en charge de ce type de recherche ?
Je n'ai pas testé Ontolica qui a l'air de faire la même chose que MOSS Wildcard Search mais en mois bien.
Exemple de recherche: on doit pouvoir trouver les occurences du mot "anticonstitutionnellement" en ayant saisi "anti", "constitu" ou "ellement" dans le moteur de recherche.
- Modifié Jon Seldon mercredi 4 septembre 2013 07:46
Réponses
-
La solution mise en place est la suivante:
Modification du WP Wildcard Search (DotNetMafia), telle que préconisé ici:
http://social.technet.microsoft.com/Forums/sharepoint/en-US/173b51ce-f660-4475-9bb8-f07625ea46e1/advice-on-implementing-fullblown-wildcard-search-pre-and-suffix
Un paramètre a été ajouté au WP pour définir la liste des "manages properties" ajoutées à la requête de recherche. Le code parcourt l'ensemble de ces managed properties et ajoute une clause "LIKE" pour chaque mot clé recherché. Une clause CONTAINS a également été ajoutée pour chaque mot clé.
A noter que le code initial du WP ne semble pas correct car il génère des clauses telles que CONTAINS ('"keyword1 keyword2*"') là où on devrait avoir CONTAINS ('"keyword1*"') OR CONTAINS ('"keyword2*"') d'après la syntaxe décrite sur MSDN.
Exemple de requête générée:
Mots clés: 5 ear
Managed properties: champ1, champ2
SELECT WorkId, Rank, Title, Author, Size, Path, Description, Write, SiteName, CollapsingStatus, HitHighlightedSummary, HitHighlightedProperties, ContentClass, IsDocument, PictureThumbnailURL
FROM Scope()
WHERE ( champ1 LIKE '%5%' OR champ1 LIKE '%ear%' OR champ2 LIKE '%5%' OR champ2 LIKE '%ear%')
OR
( CONTAINS ('"5*"') OR CONTAINS ('"ear*"'))- Modifié Jon Seldon lundi 16 septembre 2013 15:30
- Marqué comme réponse Jon Seldon lundi 16 septembre 2013 15:30
Toutes les réponses
-
-
Merci pour la proposition.
Je viens d'ajouter un exemple dans mon post.
- Modifié Jon Seldon mercredi 4 septembre 2013 07:51
-
La solution mise en place est la suivante:
Modification du WP Wildcard Search (DotNetMafia), telle que préconisé ici:
http://social.technet.microsoft.com/Forums/sharepoint/en-US/173b51ce-f660-4475-9bb8-f07625ea46e1/advice-on-implementing-fullblown-wildcard-search-pre-and-suffix
Un paramètre a été ajouté au WP pour définir la liste des "manages properties" ajoutées à la requête de recherche. Le code parcourt l'ensemble de ces managed properties et ajoute une clause "LIKE" pour chaque mot clé recherché. Une clause CONTAINS a également été ajoutée pour chaque mot clé.
A noter que le code initial du WP ne semble pas correct car il génère des clauses telles que CONTAINS ('"keyword1 keyword2*"') là où on devrait avoir CONTAINS ('"keyword1*"') OR CONTAINS ('"keyword2*"') d'après la syntaxe décrite sur MSDN.
Exemple de requête générée:
Mots clés: 5 ear
Managed properties: champ1, champ2
SELECT WorkId, Rank, Title, Author, Size, Path, Description, Write, SiteName, CollapsingStatus, HitHighlightedSummary, HitHighlightedProperties, ContentClass, IsDocument, PictureThumbnailURL
FROM Scope()
WHERE ( champ1 LIKE '%5%' OR champ1 LIKE '%ear%' OR champ2 LIKE '%5%' OR champ2 LIKE '%ear%')
OR
( CONTAINS ('"5*"') OR CONTAINS ('"ear*"'))- Modifié Jon Seldon lundi 16 septembre 2013 15:30
- Marqué comme réponse Jon Seldon lundi 16 septembre 2013 15:30