This "SELECT count(*) FROM url" will mean the TOTAL number
of documents. Note that it is actually not the number of 
searchable documents, because some of them may be not indexed yet
when database is being populated during first indexing.



Probably 
  "SELECT count(*) FROM url WHERE status IN (200,304)"
or
  "SELECT count(*) FROM url WHERE docsize>0"

will be closer to the number of searchable documents, but this will work
slowly.


 Also note that not all databases return count(*) quickly like MySQL,
for
example, PostgreSQL will scan whole table to calculate the count.

We'll add new template variable responsible  for this, but it seems
it will be useful with MySQL only. 



Laurent LEVIER wrote:
> 
> Hi Guys,
> 
> I wished to display the number of indexed URLs. To be able to do this nicely (using 
>templates), I did the following changes:
> 
> *** in init.inc, in the global variables declarations, i added:
> global $numurlsdb;
> 
> *** Then, after
> db_init($dbtype,$dbname,$dbhost,$dbuser,$dbpass,$dbport,$dbodbc,$dbodbc_cursor_type);
> 
>    if  ($db_format == '3.1') {
>       $cs=load_cs($cat);
>       $cp=load_cp($cat);
>    }
> 
> *** I added:
>    // ----------------------------------------------------------------------
>    // Laurent LEVIER changes to add NU code to return number of indexed URLs
>    // ----------------------------------------------------------------------
> 
>    $query ="SELECT count(*) from url";
> 
>    if($DEBUG) echo "last_parse(): ",$query,"<BR><HR>";
> 
>    if (!$res=db_query($query)) print_error_local('Query error: 
>'.$query."\n<BR>".db_error());
> 
>    $numurlsdb="10";
>    if ($row=db_fetchrow($res)) {
>     $numurlsdb=$row[0];
>    }
> 
>    db_freeresult($res);
> 
> *** To parse the data nicely, I changed template.inc:
> 
> *** I added in all the ereg_replace a new one. I put it after lang_url_translation:
> 
>     $str=ereg_replace('\$NU', $numurlsdb, $str);
> 
> *** and of course, the global declaration in the print_template function:
> 
> global $numurlsdb;
> 
> 
>***************************************************************************************
> It works fine. In my case, adding this in the top section of the template:
> $NU URLs exists in the database.
> 
> This new keyword is now replaced with the number of urls in table url.
> 
> As this query is SQL92 conformant, it should work everywhere, so no need to deal 
>with SQL server format.
> 
> Please confirm this represent the real number of URL that can be searched.
> 
> Enjoy!
> 
> Laurent LEVIER
> IT Systems & Networks, Unix System Engineer
> Security Specialist
> 
> Argosnet Security Server : http://www.Argosnet.com
> "Le Veilleur Technologique", "The Technology Watcher"
______________
If you want to unsubscribe send "unsubscribe udmsearch"
to [EMAIL PROTECTED]

Reply via email to