I've got a smart search with results web part and in the search condition I have tried variations on:
+NodeOwner:(int)6497
+NodeOwner:[6491]
But when I use this, I get no results back. I can query the database:
SELECT distinct NodeOwner, NodeOwnerFullName, NodeOwnerUserName, NodeOwnerEmail
FROM View_CONTENT_article_Joined
WHERE Published = 1 AND NodeOwnerFullName != '' and NodeOwnerFullName is not null
ORDER BY NodeOwnerFullName
And I can see that one of the NodeOwner fields contains 6497 or 6491, so these seem to be valid integer values to use in the search.
After getting off the phone with Edward, I found a tool to read the Lucene index -
LUKE - download the 'binary' version and run on the command line like: java -jar lukeall-3.4.0_1.jar
But in any case, when examining the index, I see that some of the integer fields are 'padded' - for example I can find a document with the nodeowner of '10000006479' - so some of the integer fields in the index are 11 characters long, while others are just normal integer, nodeid for example is just 10176
Using LUKE, the queries that I was using such as +NodeOwner:(int)6497 or +NodeOwner:[6491] fail. But if I do a query like: nodeowner:10000006479, I get results.
I tried creating a new index for the Article document type to see if there is any change in this strangeness, but the new index has the same structure... no surprise, but dissapointing nonetheless!
So do I need to do something special to query these 'padded' fields?
I've attached a zip of the index so that you can see for yourself what my index looks like.