Nik, No, there is not.
There's a work-around in which the number of terms in a field can be stored in another field during indexing time. And then you can analyze your query string to count the number of terms, and then use that count to match against the documents that have the same count. But consider the following field: "text" : "Very Big Dog" Three terms in the field's value, right? And consider the query: "+text:very +text:very +text:very" As in: { "bool" : { "must" : [ { "match" : { "text" : { "query" : "very", "type" : "boolean" } } }, { "match" : { "text" : { "query" : "very", "type" : "boolean" } } }, { "match" : { "text" : { "query" : "very", "type" : "boolean" } } } ] } } Three query terms, right? But it will match the field, and the term counts will match, and therefore you will then be told that *Very Very Very* is a perfect match for *Very Big Dog*. Oops! This is a Lucene limitation. Probably not a really big deal; I only know of two search engines that can properly handle duplicate terms: Google's, and the one I wrote in my previous life. But it is something that would be a very nice and useful feature for Lucene. Since Lucene already knows the word positions, it can verify that each term matches a unique word position (which is what I did in mine). Brian On Thursday, January 9, 2014 11:18:50 AM UTC-5, Nikolas Everett wrote: > > I'm looking to boost matches that where all the terms in the field match > more than I'm getting out of the default similarity. Is there some way to > ask Elasticsearch to do that? I'm ok with only checking in some small > window of top documents or really anything other than a large performance > hit. To be honest I haven't played too much with similarities so maybe > what I want is there. > > Thanks! > > Nik > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/9bc2284e-0f01-4b4e-aded-93db0230d4c9%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.