I am trying to use MoreLikeThis (both the component and handler,
trying combinations) and I would like to give it an input document
reference which has a "source" field to analyze and then get back
other documents which have a given field that is used by MLT.

My dataset is composed of documents like:

# Doc 1
id:Article:99
type_s:Article
body_t: the body of the article...

# Doc 2
id:Article:646
types_s:Article
body_t: another article...

# Doc 3
id:Community:44
type_s:Community
description_t: description of this community...

# Doc 4
id:Community:34874
type_s:Community
description_t: another description....

# Doc 5
id:BlogPost:2384
type_s:BlogPost
body_t: contents of some blog post

So I would like to say, "given an article (e.g. id:"Article:99" which
has a field "body_t" that should be analyze), give more related
Communities, and you will want to search on "description_t" for your
analysis".'

When I run a basic query like:

(using raw URL values for clarity, but they are encoded in reality)

http://localhost:9007/solr/mlt?q=id:WikiArticle:948&mlt.fl=body_t

then I get back a ton of other articles. Which is fine if my target
type was Article.

So how I can I say "search on field A for your analysis of the input
document, but for related terms use field B, filtered by type_s"

It seems that I can really only specify one field via mlt.fl

I have tried using MLT as a search component so that it has access to
filter queries (via fq) but I cannot seem to get it to give me any
data other than more of the same, that is, I can get a ton of Articles
back but not other "content types".

Am I just trying to do too much?

Thanks
/Cody

Reply via email to