[Xapian-discuss] [Scriptindex] Exception: Key too long

Arjen van der Meijden arjen at glas.its.tudelft.nl
Wed Jul 7 12:47:52 BST 2004


On 7-7-2004 13:26, Timan Rebel wrote:

>>Are you sure there are spaces in between?
>>Anyway, the exception is about a single (unsplittable) term that is much
>>longer than 252 characters.
> 
> 
> I am sure it are all spaces BUT I formatted it like this:
> 
> users=1 2 3 4 5 6 7 8 9 ... n
> 
> The exception disappears when turning it into:
> 
> users=1
> users=2
> ..
> users=n
> 
> Is this the correct way of setting Boolean values?

Ah, I see the problem. You're mixing boolean-indexing with non-boolean 
usage. No, the users=1 ... n is not the correct way to index booleans, 
the entire string will be the boolean value (and therefore in some cases 
way too long).
The users=1, users=2 etc way is correct to specify multiple boolean values.

>>>I would like to search for userids, but a normal field=users index=XU
>>
>>does
>>
>>>not seem to work for me. After mapping user to XU in my Omega template,
>>>searching for user:1 does not return results.

I reread this now. field=users index=XU should be working and mappable 
in the Omega-template. Then, you should be able to map that and to 
search for it using a user:...-like statement as part of your searchquery.
But your last scriptindex (the one you sent in your e-mail) contained 
boolean=XU, not index=XU.

> I did.. title: works, just like start:
> Anyway, it is not important when I get the Boolean method working.

When you index them as booleans, you cannot use them in the searchquery 
itself, but you need to specify (multiple) B=XU{uid}-like cgi-values. On 
the commandline, it'd be something like this:
./omega P="your query here" B=XU1 B=XU4

Here uid 1 and 4 would be OR-ed.

Best regards,

Arjen

PS, don't forget to reindex your DB when you want to change the 
indexing-format.




More information about the Xapian-discuss mailing list