2010-01-28 7 views
1

Comment puis-je créer un index, puis rechercher comme dans SQL Server FTS?Lucene.NET comment rechercher des formes de mots? (comme dans SQL Server)

I.e. les données sont indexées une fois, puis l'utilisateur peut rechercher:

  1. correspondance exacte: "pomme", "singe", "ivre" etc ...
  2. formes de mots:
    • entrer "en état d'ébriété" et trouver "boire", "but", "ivre"
    • entrer "pommes" et trouver "pommes", "pomme"
  3. contexte: "app *" et trouver "pomme", "application" etc

Est-ce possible?

merci!

Répondre

0

Jetez un oeil à la Java documentation pour la syntaxe QueryParser de Lucene pour obtenir une bonne idée de ce qu'il est possible de faire. C'est plus ou moins la même chose que la version .NET.

Lucene prend en charge issue qui correspondent à des pommes et des pommes, etc.

Je n'ai pas utilisé la recherche en texte intégral dans SQL Server depuis longtemps, mais je suis assez sûr que Lucene.NET va le dépasser .

+0

merci, mais quel analyseur dois-je utiliser pour indexer les documents dans ce cas? Il semble que PorterStemmer peut diviser des rotations de mots, mais il ne connaît pas les formes de mots irréguliers tels que boire, boire, boire, etc – Oleg

+0

Essayez le SnowballAnalyzer? –