I would agree when using score-logtf or score-logtfidf, but I am using score-simple. In the documentation for score-simple it says: * It does not matter how many times a given term matches (that is, the term frequency does not matter)*
2017-08-17 17:38 GMT+02:00 Christopher Hamlin <[email protected]>: > From the doc for cts:or-query, 'synonym' means: > > Specifies that all of the terms in the $queries parameter are considered > synonyms for scoring purposes. The result is that occurrences of more than > one of the synonyms are scored as if there are more occurrences of the same > term (as opposed to having a separate term that contributes to score). > > So it sounds like the scoring would be similar to 1 hit for a query in > docs 1,3 and 2 hits for the same query in doc2, and you'd expect doc2 to > score higher in that situation. > > Similar description for 'synonym' in cts:element-word-query seems to > bolster this interpretation (to me). > > /ch > > On Thu, Aug 17, 2017 at 9:55 AM, Andreas Hubmer <[email protected] > > wrote: > >> Hi, >> >> We've discovered the "synonym" option of the cts:or-query and thought >> that it would solve an issue we've had for a longer time in several >> applications with several clients. But it does not work as expected. Either >> I am misunderstanding the effect of the "synonym" option or there is a bug. >> >> The following XQuery snippet demonstrates the issue. Three documents are >> inserted into the database. All contain the word "tom", but in different >> elements. >> In the search an or-query over the different elements is used. Our >> expectation was that by using the "synonym" option all results would have >> the same score. But the document with both elements name1 and name2 is >> scored higher than the other two (about 30% higher). >> Why do they have different scores? >> I would expect that the "synonym" option is working like a *maximum* >> function on the score of the subqueries. >> >> xquery version "1.0-ml"; >> xdmp:document-insert("/1.xml", >> <root> >> <name1>tom</name1> >> </root> >> ) >> , >> xdmp:document-insert("/2.xml", >> <root> >> <name1>tom</name1> >> <name2>tom</name2> >> </root> >> ), >> xdmp:document-insert("/3.xml", >> <root> >> <name2>tom</name2> >> </root> >> ) >> ; >> >> xquery version "1.0-ml"; >> cts:search(/, >> cts:or-query(( >> cts:element-word-query(xs:QName("name1"), "tom"), >> cts:element-word-query(xs:QName("name2"), "tom") >> ), "*synonym*"), >> "score-simple" >> ) >> ! >> ("Score: " || cts:score(.), .) >> >> "Fast element word searches" are turned on in the database. >> The scoring model (score-simple or score-logtf) does not make a >> difference. >> >> It would be great if you could help me! >> >> Cheers, >> Andreas >> >>
_______________________________________________ General mailing list [email protected] Manage your subscription at: http://developer.marklogic.com/mailman/listinfo/general
