[Xapian-devel] debug with simplequery1
olly at survex.com
Thu Jun 5 04:56:51 BST 2014
On Thu, Jun 05, 2014 at 10:46:07AM +0800, Hurricane Tong wrote:
> But I didn't find the code where the files concerning with test
> simplequery1 get indexed.
The code to create a suitable database for the backend we're running the
testcase for is in tests/harness/.
But I think you might do better to start more simply - for example, try
indexing a single document to a brass database:
$ rm -rf tmp.db
$ echo hello world | XAPIAN_PREFER_BRASS=1 examples/simpleindex tmp.db
Then you can look at it with delve:
$ bin/xapian-delve tmp.db
UUID = 1636c618-30c9-47ac-9cd7-f2073a18136f
number of documents = 1
average document length = 4
document length lower bound = 4
document length upper bound = 4
highest document id ever used = 1
has positional information = true
(You'll have a different UUID)
And dump out the document length list (there's a bug in recent trunk
which I've just fixed - if you have assertions on this command will
fail, and you'll need the fix from commit 181fcf4):
$ bin/xapian-delve tmp.db -t '' -1 -v
Posting List for term '' (termfreq 1, collfreq 1, wdf_max 0):
1 1 4
The "-t ''" means "show the doclength postlist"; "-1" means "one entry
per line"; "-v" means "show more info".
The last column is the doclength (the other two are always 1 for the
doclength postlist). It is 4 because we index each term both stemmed
If that works, try it with a second document:
$ rm -rf tmp.db
$ printf 'hello world\n\nsecond doc' | XAPIAN_PREFER_BRASS=1 examples/simpleindex tmp.db
And so on...
> but I failed.
> When I set a break point at L1556 of brass_postlist.cc( the function merge_doclen_changes ),
> I get
> (gdb) b brass_postlist.cc:1556
> No source file named brass_postlist.cc.
The source file is: backends/brass/brass_postlist.cc
More information about the Xapian-devel