Martin Mares [Sun, 21 Apr 2002 08:30:06 +0000 (08:30 +0000)]
Finally I realized why we were using secondary sorting on site_id
by default :-) I was originally searching for some magic inside the
search server which needed that to work and completely missed the
simple fact that the front-end wants the results this way :-)
So I'm resurrecting it, but now as an ordinary instance of the secondary
sorting code I've introduced yesterday. The CUSTOM_SORTING switch is gone,
sorting by site ID and page age works always.
Also, I've simplified reverse sorting by introducing a separate XOR mask.
Martin Mares [Sat, 20 Apr 2002 15:09:41 +0000 (15:09 +0000)]
Added secondary sorting (i.e., breaking ties when two documents have the same Q)
on any of the custom attributes. Just define CUSTOM_SORTING in lib/custom.h.
I've also removed secondary sorting of result heap by site ID inside refs.c
-- according to my best knowledge it wasn't required anywhere.
Maybe we can remove the CUSTOM_SORTING switch and just leave the sec_sort_key
in struct result_note initialized to zero, but it would cost us 4 bytes per
result_note which I wanted to avoid.
Martin Mares [Sat, 6 Apr 2002 18:44:18 +0000 (18:44 +0000)]
All configuration options (except for custom attributes which still dwell
in lib/custom.h) are now stored in config.mk to make them available to both
makefiles (conditional linking etc.) and C programs (lib/autoconf.h is
generated from config.mk by a simple shell script).
This gives an easy way how to create special-purpose modules (like the
SQL gatherer) which need extra libraries -- just make them a compile-time
option ;)
Martin Mares [Sat, 15 Dec 2001 22:55:42 +0000 (22:55 +0000)]
db-rebuild replaced by db-tool which allows not only database
reconstruction, but also dumping and undumping (useful for
conversion from SDBMv1 to v2).
Martin Mares [Fri, 2 Nov 2001 21:34:08 +0000 (21:34 +0000)]
HEAP_DELETE: Copy the `pos' parameter to a temporary variable as soon
soon as possible to avoid problems with callers supplying us with expressions
which could change during heap operations.
Martin Mares [Fri, 5 Oct 2001 16:33:24 +0000 (16:33 +0000)]
Moved all customizable parts of configuration and index format
(i.e., those depending on user attributes or word types, not on
our compilation environment) to a new file.
Custom configurations (indexing of objects generated from a database
and similar cases) should require only modifications of cf/sherlock
and lib/custom.h since now.
Martin Mares [Sat, 1 Sep 2001 21:42:55 +0000 (21:42 +0000)]
Added shakedown, but don't use it on real gatherer bucket files
since it buckettool doesn't update any other gatherer structures.
The expirer is the right place to go.
Martin Mares [Tue, 10 Apr 2001 20:51:59 +0000 (20:51 +0000)]
Relax the accent match rules of "auto" accent mode: if some _outer_ word
matches only without accents in an accented document and the match is
in URL keywords, accept it (we know it will be real match as the word
is outer). Bleeeech, it's ugly.
Robert Spalek [Thu, 22 Mar 2001 15:56:47 +0000 (15:56 +0000)]
CVS repository cleaned up a bit:
gather/{objdump.c,dumpconfig.[ch]} and indexer/idxdump.c --> utils
utils/lfstest.c deleted
filter/ftest is not compiled by default
rule for making lib/lfs-test.c added into Makefile
Martin Mares [Thu, 15 Mar 2001 22:23:43 +0000 (22:23 +0000)]
Changed locking mechanism of the bucket library to fcntl() instead
of flock() as the flock locks have totally broken semantics -- they
happily permit multiple locks on a shared fd!
Martin Mares [Wed, 7 Mar 2001 13:38:19 +0000 (13:38 +0000)]
Created a new include for efficient access to unaligned data.
Updated fastbuf to use it.
Removed sh_foff_t -- all modules should use sh_off_t instead (the only
case where it would differ is the 2G--4G range of file sizes you get
when LFS is turned on and LARGE_DB turned off and it's not interesting
anyway)
bgeto/bgetp selection is done in config.h.
LFS is turned on by default.
Robert Spalek [Mon, 5 Mar 2001 09:02:11 +0000 (09:02 +0000)]
cf_default_init() replaced by direct access to cfdeffile, the default value
is DEFAULT_CONFIG
cf_default_done() replaced by automatical call if getopt() returns -1