sdx-developers
[Top][All Lists]
Advanced

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

Re: <sdx:searchLocations> (était Re: RE : RE : RE : [sdx-developers] Qu


From: Pierrick Brihaye
Subject: Re: <sdx:searchLocations> (était Re: RE : RE : RE : [sdx-developers] QueryParser)
Date: Mon, 26 Jan 2004 10:49:16 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.2) Gecko/20030208 Netscape/7.02

Salut,

Pierrick Brihaye a écrit:

Testé  : ça tourne comme prévu mais il y a encore des TODO sur ce que l'on
pourrait mettre dans les éléments <sdx:searchLocation>.

Je pense en particulier au nombre de documents dans un index (plus performant que de faire un sdxall:1).

Pour cela, il faudrait modifier LuceneDataStore.java. En effet, la méthode suivante n'est pas du tout optimisée :

/**
* Returns the number of entities within this database.
*/
public long size() { //TODO : optimize this : only calculate when not intialized ; track changes in write/delete to modify size counter -pb
  Hits h = null;
  try {
    h = search(new TermQuery(new Term(ALL_FIELD, ALL_VALUE)));
    if (h != null)
      return h.length();
    else
      return 0;
  } catch (SDXException e) {
    return 0;
  }
}

Je pense qu'on devrait avoir un membre privé :
Long size = null.

Et, lors de l'exécution de init(), lancer la Query ci-dessus.

Ensuite, il n'y aurait plus qu'à incrémenter dans write et à décrémenter dans delete.

Ca me paraît aussi simple que ça... mais peut-être y a-t-il un détail qui m'échappe ?

A+

--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden





reply via email to

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