ANNOUNCE: mnoGoSearch-3.3.9

Alexander Barkov <[email protected]> Thu, 29 Oct 2009 18:04:35 +0400
Newsgroups gmane.comp.web.mnogosearch.announce
Message-ID <4AE9A0F3.7080309__38656.2893087559$1256826889$gmane$org@mnogosearch.org>
Hi,

mnoGoSearch-3.3.9 is now available.

The changes in this version include:

* DBAddr now unserstands the ClientMultiStatements=yes parameter when
   connecting to MySQL, which makes it possible to use stored procedure
   calls in UserScore and UserSiteScore commands.
* A bug was fixed: a missing <link>...<link/> tag made indexer crash
   when parsing a broken RSS file.
* Fixed that indexer -Eblob wrote unsorted URL data into table bdicti,
   which made search.cgi return "no documents found" and other kinds of
   unexpected results when running with GroupBySite=yes.
* mnoGoSearch now uses prepared statements when working with PostgreSQL
   (API functions PQprepare(), PQexecPrepared()).
* When compiled with MySQL >=4.1 client library and connecting to an older
   MySQL server (without native PS API), mnoGoSearch now automatically
   switches not to use prepared statements.
* Bug#3789 was fixed. russian.dict from Lebedev's Ispell package was
   incorrectly detected as mnoGoSearch hash file. More accurate mnoGoSearch
   ispell hash file detection was made.
* Improvements in word distance calculation were made. If a distance
   between two searched words is longer than 64, then this distance is
   considered to be equal to 64.
* The ${total} variable is now available in UserCacheQuery.
* search.cgi now does not execute an empty UserCacheQuery query.
* It's now possible to use dot (.) and dash (-) characters as separators
   in wf vector for easier readability. For example, wf=FFFF-9999-2221 is
   now the same to wf=FFFF99992221.
* indexer now understands the --exec command line parameter to execute
   a single SQL query, for example:

   indexer -Esql --exec="select url from url"

* indexer -Esqlmon now understands the -D parameter to connect to a certain
   database in multi-database environment. For example:

   indexer -Esqlmon -D2

   connects to the database specified in the second DBAddr command in
   indexer.conf.
* ServerTable HOWTO was added into the manual. See the Section called
   ServerTable in Chapter 3.
* Fixed that search.cgi didn't work with ps values larger than 500 because
   of query buffer overflow.
* The ResultsLimit search.htm command now understands 0 as unlimited
   number of results displayed to the user.
* Fixed a bug that some documents with very low score could be excluded
   from search results.
* New recursive and final synonym modes were added. See the Section called
   Synonyms in Chapter 10.
* indexer -Eblob now uses a temporary table bdict_tmp and renames it to 
bdict
   after search index is ready with PostgreSQL 8.2.4, Oracle, SQLite and
   IBM DB2. This reduces search service down time when recreating search 
index
   just to less than a second. Previously, temporary table was used only 
with
   MySQL.
* indexer -Ecrawl was added as a synonym for indexer -Eindex. The latter is
   now deprecated and will eventually removed.
* Fixed that mnoGoSearch did not work with Sybase via ODBC. The call for
   SQLSetConnectOption(hDbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_ON) expected
   only SQL_SUCCESS to be returned, while SQL_SUCCESS_WITH_INFO is also
   possible with Sybase.
* A minor crawling performance improvement was made: indexer could execute
   empty SQL transactions in some cases. Now it does not.
* A minor crawling performance improvement was made: indexer does not send
   DELETE FROM dict WHERE url_id=xxx, DELETE FROM urlinfo WHERE url_id=xxx
   SQL queries when crawling a document for the very first time.
* A minor crawling performance improvement was made: indexer now does not
   send DELETE FROM links WHERE... SQL queries when CollectLinks is set 
to no.
* The special purpose section User.Date now understands Unix Timestamp 
format.
   For example:

   <meta name="Date" content="1104537600">

* A description of the offs search parameter was added into the manual.
* Fixed that the offs search parameter did not work in cluster mode.
* A new search.htm command IDFFactor was added to diminish the weight of
   words that occur very frequently in the document collection (such as the)
   and increase the weight of words that occur rarely.
* WordDensityFactor now works smother.
* A new query language syntax was added to set importance for individual
   query words, for example:

   importance200:star importance200:wars importance10:movie.

* phrase-to-word and phrase-phrase synonym types are now supported.
   A new search.htm command ComplexSynonyms was added.
* If "indexer -qq" is given, then indexer switches to even faster
   start-up comparing to "indexer -q". Additionally, "indexer -qq"
   does not synchronize the Server and Realm commands found in
   indexer.conf with the table "server" content. It can be useful
   for those having complex indexer.conf file with many Server / Realm 
commands.
* The SyslogFacility command now understands none as a possible value,
   which means suppress logging to syslog.
* Improvements in word distance calculation were made.
   Now search additionally detects if all query words appear in a frame
   with length 2*number_of_query_words words. For example, documents
   with text fragments:

       .... w1 . w2 . w3  ....

       .... w1 . . w2 w3  ....

       .... w1 w2 . . w3  ....

    are now ranked better.
* "indexer -Eblob" now does not put information about popularity rank
   into search index if all pop_rank values are empty
   (i.e. when indexer -R has never been run). This slightly improves
    performance.
* Tools to dump and restore search databases were added.
   An article how to add a cluster node with help of dump/restore tools
   was added into the manual.
* indexer now can limit documents by seed: "indexer --seed=10",
   where seed is a value in the range 0..255. Seed range is also understood:
   "indexer --seed=10-20". You can use seed limit, for example,
   to distribute crawler work through the week:
   run "indexer --seed=0-36" on Sundays, "indexer --seed=37-75" on Mondays,
   ..., "indexer --seed=220-255" on Saturdays.
* SQL monitor tool (indexer -Esql) now reports line numbers when
   displaying errors.
* A description of MS Word 2007 *.docx external parser was added
   into the manual.


Greetings!