> ...
> And expect to match document 156297 (search_text=="Austell GA", type==1).
> ...
>  System.out.println(searcher.explain(query, 156296));

156297 != 156296

Could that be it?


--
Ian.


On Thu, May 22, 2008 at 11:21 PM, Casey Dement <[EMAIL PROTECTED]> wrote:
> Hi - trying to execute a search in Lucene and getting results I don't
> understand :(
>
> The index contains fields search_text and type - both indexed tokenized.
> I'm attempting to execute the query:
>
>  +(search_text:austell~0.9 search_text:ga~0.9) +(type:1 type:4)
>
> And expect to match document 156297 (search_text=="Austell GA", type==1).
>
> I am executing this query both directly in code and via the tool Luke - but
> getting WILDLY different answers.  In Luke, the expected document is found
> no problem, but in my own code I find no results.  Obviously I suspect my
> code of being crap ;)
>
> Oh, FYI, in both my local code and Luke I am using a StandardAnalyzer and
> the default column is "search_text".
>
> Here's what I'm doing:
>
>  /******************************************************************/
>  File location = new File("/the/correct/path");
>  IndexReader index = IndexReader.open(location);
>  Searcher searcher = new IndexSearcher(index);
>  QueryParser parser = new QueryParser("search_text", new
> StandardAnalyzer());
>  Query query = parser.parse("+(search_text:austell~0.9 search_text:ga~0.9)
> +(type:1 type:4)");
>  System.out.println(searcher.explain(query, 156296));
>  /******************************************************************/
>
> When I run this, I get:
> |  0.0000 = (NON-MATCH) Failure to meet condition(s) of required/prohibited
> clause(s)
> |    0.0000 = no match on required clause (() ())
> |      0.0000 = (NON-MATCH) product of:
> |        0.0000 = (NON-MATCH) sum of:
> |        0.0000 = coord(0/2)
> |    0.2133 = (MATCH) product of:
> |      0.4267 = (MATCH) sum of:
> |        0.4267 = (MATCH) weight(type:1 in 156296), product of:
> |          0.3672 = queryWeight(type:1), product of:
> |            1.1618 = idf(docFreq=315734, numDocs=371197)
> |            0.3161 = queryNorm
> |          1.1618 = (MATCH) fieldWeight(type:1 in 156296), product of:
> |            1.0000 = tf(termFreq(type:1)=1)
> |            1.1618 = idf(docFreq=315734, numDocs=371197)
> |            1.0000 = fieldNorm(field=type, doc=156296)
> |      0.5000 = coord(1/2)
>
> So obviously I'm loading the index (since it did match the "type") - but it
> seems to be COMPLETELY ignoring the criteria on "search_text".
>
> When I run this exact same string in Luke, I get:
> |  8.0079 = (MATCH) sum of:
> |    7.9578 = (MATCH) sum of:
> |      5.4904 = (MATCH) weight(search_text:austell in 156297), product of:
> |        0.8074 = queryWeight(search_text:austell), product of:
> |          10.8800 = idf(docFreq=18, numDocs=371197)
> |          0.0742 = queryNorm
> |        6.8000 = (MATCH) fieldWeight(search_text:austell in 156297),
> product of:
> |          1.0000 = tf(termFreq(search_text:austell)=1)
> |          10.8800 = idf(docFreq=18, numDocs=371197)
> |          0.6250 = fieldNorm(field=search_text, doc=156297)
> |      2.4673 = (MATCH) weight(search_text:ga in 156297), product of:
> |        0.5413 = queryWeight(search_text:ga), product of:
> |          7.2936 = idf(docFreq=685, numDocs=371197)
> |          0.0742 = queryNorm
> |        4.5585 = (MATCH) fieldWeight(search_text:ga in 156297), product of:
> |          1.0000 = tf(termFreq(search_text:ga)=1)
> |          7.2936 = idf(docFreq=685, numDocs=371197)
> |          0.6250 = fieldNorm(field=search_text, doc=156297)
> |    0.0501 = (MATCH) product of:
> |      0.1002 = (MATCH) sum of:
> |        0.1002 = (MATCH) weight(type:1 in 156296), product of:
> |          0.0862 = queryWeight(type:1), product of:
> |            1.1618 = idf(docFreq=315734, numDocs=371197)
> |            0.0742 = queryNorm
> |          1.1618 = (MATCH) fieldWeight(type:1 in 156296), product of:
> |            1.0000 = tf(termFreq(type:1)=1)
> |            1.1618 = idf(docFreq=315734, numDocs=371197)
> |            1.0000 = fieldNorm(field=type, doc=156296)
> |      0.5000 = coord(1/2)
>
> Which while clearly looking at the same document ID in the same index is
> conversely working perfectly!
>
> Does anybody have any idea where I am screwing up?  Thanks!
>
> Casey

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to