sdx-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE : RE : RE : [sdx-developers] Changements récents


From: Rasik Pandey
Subject: RE : RE : RE : [sdx-developers] Changements récents
Date: Mon, 24 May 2004 17:02:37 +0200

Salut,

> > Justement je voulais garder DefaultQueryParser parce que je
> pensais que c'était plus facile à synchroniser (à la main) avec
> le QueryParser.jj de Lucene que
> ZeroPositionIncrementQueryParser. Mais ça se discute....peut-
> être on pourrait mieux factoriser ton code dans
> ZeroPositionIncrementQueryParser (hors la méthode
> getFieldQuery) pour le rendre plus facile à synchroniser à la
> main, puis on vire DefaultQueryParser???
> 
> Aucun problème !

:)

> > Pour l'instant on déplace UnanalyzedQuery vers
> fr.gouv.culture.sdx.lucene.query.UnanalyzedQuery et donc on
> change les QueryParser(s) pour utiliser cette classe.
> 
> Moi je veux bien mais avant de faire le refactoring, j'aurais
> souhaité
> que les archives Lucene aient :
> 
> 1) un patch avec une UnanalyzedQuery. Je suis à peu près
> certain qu'il y
> a un besoin réel dans ce domaine et que la syntaxe employée est
> acceptable (vérifier tout de même que l'on peut escaper le
> "|"). Si ça
> embraye... je veux bien patcher la doc et les tests :-)
> 
> 2) un patch avec le ZeropositionIncrementQueryParser (dans la
> veine de
> http://issues.apache.org/bugzilla/show_bug.cgi?id=23307). Ici
> encore, on
> pourrait également patcher les tests.
> 

+1


Si tu va travailler avec les QueryParsers, il va falloir mettre à jour celui 
qu'on va garder:

1.43      +27 -5     
jakarta-lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj
  
  Index: QueryParser.jj
  ===================================================================
  RCS file: 
/home/cvs/jakarta-lucene/src/java/org/apache/lucene/queryParser/QueryParser.jj,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- QueryParser.jj    24 Mar 2004 10:12:27 -0000      1.42
  +++ QueryParser.jj    22 May 2004 17:34:31 -0000      1.43
  @@ -285,6 +285,26 @@
     }
   
     /**
  +   * Base implementation delegates to address@hidden 
#getFieldQuery(String,Analyzer,String)}.
  +   * This method may be overridden, for example, to return
  +   * a SpanNearQuery instead of a PhraseQuery.
  +   *
  +   * @exception ParseException throw in overridden method to disallow
  +   */
  +  protected Query getFieldQuery(String field,
  +                                Analyzer analyzer,
  +                                String queryText,
  +                                int slop)  throws ParseException {
  +    Query query = getFieldQuery(field, analyzer, queryText);
  +
  +    if (query instanceof PhraseQuery) {
  +      ((PhraseQuery) query).setSlop(slop);
  +    }
  +
  +    return query;
  +  }
  +
  +  /**
      * @exception ParseException throw in overridden method to disallow
      */
     protected Query getRangeQuery(String field,
  @@ -655,15 +675,17 @@
          [ slop=<SLOP> ]
          [ <CARAT> boost=<NUMBER> ]
          {
  -         q = getFieldQuery(field, analyzer,
  -                           term.image.substring(1, term.image.length()-1));
  -         if (slop != null && q instanceof PhraseQuery) {
  +         int s = phraseSlop;
  +
  +         if (slop != null) {
              try {
  -             int s = Float.valueOf(slop.image.substring(1)).intValue();
  -             ((PhraseQuery) q).setSlop(s);
  +             s = Float.valueOf(slop.image.substring(1)).intValue();
              }
              catch (Exception ignored) { }
            }
  +         q = getFieldQuery(field, analyzer,
  +                           term.image.substring(1, term.image.length()-1),
  +                           s);
          }
     )
     { 

Rasik








reply via email to

[Prev in Thread] Current Thread [Next in Thread]