hello--

i'm using MoreLikeThis. i'm trying to run the document comparison across more 
than one field in my index, but i'm not at all sure that it's actually 
happening -- when i examine the constructed query, only one field is mentioned! 
here's my code:

FileReader reader = new FileReader("/Users/onpause/aTest.txt");
IndexReader ir = IndexReader.open(index);
IndexSearcher is = new IndexSearcher(index);
MoreLikeThis mlt = new MoreLikeThis(ir);
String [] mltFields = new String[] 
{"conceptSearch","abstract","contents","conceptDisplay"};
mlt.setFieldNames(mltFields);
Analyzer analyzer = new StandardAnalyzer();
mlt.setAnalyzer(analyzer);
Query mltQuery = mlt.like(reader);
Hits hits = is.search(mltQuery);

System.out.println("query: "+ mltQuery.toString() + "   ; fields: " + 
mlt.getFieldNames().toString()  + " ::: params: "+mlt.describeParams());



here's what that last println prints out:


query: contents:rainbow contents:edinburgh contents:actress contents:festival 
contents:end   ;

fields: [Ljava.lang.String;@199939 ::: 

params: maxQueryTerms  : 25
        minWordLen     : 0
        maxWordLen     : 0
        fieldNames     : "conceptSearch, abstract, contents, conceptDisplay
        boost          : false
        minTermFreq    : 1
        minDocFreq     : 1


why does the query only contain references to the field "contents"? i expected 
it to contain references to all 4 fields i assigned, something like:

(contents:rainbow contents:edinburgh contents:actress contents:festival 
contents:end) (abstract:rainbow... etc etc

when the field "contents" is in the list, it ends up being the only one visibly 
used in the printed query -- the others seem suppressed, at least from the 
print...

i really want to make sure i'm MLT-ing across all 4 fields, because i indexed 
then with different boosts, hoping this would influence the MLT result 
scoring...

also, and i'm sure this is because i'm such i naive java user, how can i 
convert this object reference [Ljava.lang.String;@199939  to something more 
useful to read?


thanks in advance for any advice!


best--

--chris sizemore

http://www.bbc.co.uk/
This e-mail (and any attachments) is confidential and may contain personal 
views which are not the views of the BBC unless specifically stated.
If you have received it in error, please delete it from your system.
Do not use, copy or disclose the information in any way nor act in reliance on 
it and notify the sender immediately.
Please note that the BBC monitors e-mails sent or received.
Further communication will signify your consent to this.
                                        

Reply via email to