sdx-developers
[Top][All Lists]
Advanced

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

[sdx-developers] QueryParser


From: Pierrick Brihaye
Subject: [sdx-developers] QueryParser
Date: Sun, 18 Jan 2004 15:46:30 +0100

Salut,

Je retesté l'appli quran avec le dernier build.

Le premier problème rencontré, c'est celui des Field qui reprennent la
Locale (fr) quand bien même l'analyzer de la FieldList est de l'arabe :

<sdx:fieldList
analyzerClass="fr.gouv.culture.sdx.search.lucene.analysis.Analyzer_ar">

Bon, je pourrais certes localiser l'appli en arabe dans <sdx:application>,
mais je préfèrerais éviter.

Je pourrais aussi tirer parti de :

FieldsDefinitions.configure :

this.locale = Utilities.buildLocale(configuration, null);

Mais j'ai peur d'aller au devant de problèmes car, pour l'arabe, j'ai 2
analyseurs possibles... Dois-je donner la Locale *et* l'analyseur ?

Le workaround, pour l'instant, c'est :

<sdx:field name="content" type="word" default="true"
analyzerClass="fr.gouv.culture.sdx.search.lucene.analysis.Analyzer_ar">

Pas très propre, mais ça a l'air de tourner.

Par contre, quand je fais une Query, j'obtiens ça :

<sdx:query type="simple" engine="lucene" luceneQuery="&quot;kut~Ab
kitAb&quot;" escapedLuceneQuery="%22kut%7EAb+kitAb%22" text="كتاب"
escapedText="%D9%83%D8%AA%D8%A7%D8%A8" op="or" sdx:hilite-type=""
sdx:hilite-engine="" sdx:hilite-luceneQuery=""
sdx:hilite-escapedLuceneQuery="" sdx:hilite-text="1:4"
sdx:hilite-escapedText="" sdx:hilite-op=""/>

(BTW : l'escaping semble être bon, ce qui n'étais pas le cas auparavant :-).

La luceneQuery m'indique que c'est le DefaultQueryParser qui a été utilisé
(2 tokens génèrent une PhraseQuery) alors que ma config donne ça :
<sdx:queryParser
class="fr.gouv.culture.sdx.search.lucene.queryparser.ZeroPositionIncrementTo
kenQueryParser"/>

Je m'attends à avoir :
luceneQuery="kut~Ab kitAb"

c.a.d. une BooleanQuery avec 2 termes (OR).

Une idée sur le fait que je ne sois pas sur le bon QueryParser ?

A+

p.b.









reply via email to

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