Sounds like it is simply dispatching to the normal search request handler.
Although you specified qt=mlt, make sure you enable the legacy select
handler dispatching in solrconfig.xml.
Change:
<requestDispatcher handleSelect="false" >
to
<requestDispatcher handleSelect="true" >
Or, simply address the MLT handler directly:
http://107.23.102.164:8080/solr/mlt?q=...
Or, use the MoreLikeThis search component:
http://localhost:8983/solr/select?q=...&mlt=true&...
See:
http://wiki.apache.org/solr/MoreLikeThis
-- Jack Krupansky
-----Original Message-----
From: David Parks
Sent: Thursday, December 27, 2012 9:59 PM
To: solr-user@lucene.apache.org
Subject: MoreLikeThis only returns 1 result
I'm doing a query like this for MoreLikeThis, sending it a document ID. But
the only result I ever get back is the document ID I sent it. The debug
response is below.
If I read it correctly, it's taking "id:1004401713626" as the term (not the
document ID) and only finding it once. But I want it to match the document
with ID 1004401713626 of course. I tried &q=id[1004410713626], but that
generates an exception:
Caused by: org.apache.lucene.queryParser.ParseException: Cannot parse
'id:[1004401713626]': Encountered " "]" "] "" at line 1, column 17.
Was expecting one of:
"TO" ...
<RANGEIN_QUOTED> ...
<RANGEIN_GOOP> ...
This must be easy, but the documentation is minimal.
My Query:
http://107.23.102.164:8080/solr/select/?qt=mlt&q=id:[1004401713626]&rows=10&
mlt.fl=item_name,item_brand,short_description,long_description,catalog_names
,categories,keywords,attributes,facetime&mlt.mintf=2&mlt.mindf=5&mlt.maxqt=1
00&mlt.boost=false&debugQuery=true
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1</int>
<lst name="params">
<str name="mlt.mindf">5</str>
<str name="mlt.fl">
item_name,item_brand,short_description,long_description,catalog_names,catego
ries,keywords,attributes,facetime
</str>
<str name="mlt.boost">false</str>
<str name="debugQuery">true</str>
<str name="q">id:1004401713626</str>
<str name="mlt.mintf">2</str>
<str name="mlt.maxqt">100</str>
<str name="qt">mlt</str>
<str name="rows">10</str>
</lst></lst>
<result name="response" numFound="1" start="0">
<doc>
<long name="facetime">0</long>
<str name="id">1004401713626</str>
</doc>
</result>
<lst name="debug">
<str name="rawquerystring">id:1004401713626</str>
<str name="querystring">id:1004401713626</str>
<str name="parsedquery">id:1004401713626</str>
<str name="parsedquery_toString">id:1004401713626</str>
<lst name="explain">
<str name="1004401713626">
18.29481 = (MATCH) fieldWeight(id:1004401713626 in 2843152), product of: 1.0
= tf(termFreq(id:1004401713626)=1) 18.29481 = idf(docFreq=1,
maxDocs=64873893) 1.0 = fieldNorm(field=id, doc=2843152)
</str>
</lst>