On 4/6/2016 11:07 AM, shamik wrote: > Thanks Alessandro, that answers my doubt. in a nutshell, to make MLT Query > parser work, you need to know the document id. I'm just curious as why this > constraint has been added. This will not work for a bulk of use cases. For > e.g. if we are trying to generate MLT based on a text or a keyword, how > would I ever use this API ? My initial impression was that this was designed > to work on a distributed mode. > > Now, this adds up a follow-up question as in which one is the right approach > in a solr cloud mode. "mlt"request handler is off the equation since it's > not supported. That leaves with MoreLikeThisComponent which has a known > issue with performance. Is that the only availble solution then ?
The feature "More Like This/These" is built around the premise that you are seeing one or more existing documents in a search result, and you want to find more documents that are very similar to those. This is why you need an ID -- to tell Solr which document(s) you want to use as a basis for the query. If you're trying to find documents by keyword/text, that's just a regular query; you don't need MLT. MLT was not originally designed for distributed indexes. Distributed MLT is a *relatively* recent addition, and when I tried it, it was very slow. I do not know if the feature has changed much since it was introduced three years ago. Thanks, Shawn