Malini, I would suggest starting a new thread instead of adding to an old one.
I find the Java API for the boost functions to be confusing, or at least, not as clean as the rest of the Java API. I wonder if the Elasticsearch team would accept a PR. Jörg's example above could be used as a skeleton for your code. Something like new FunctionScoreQueryBuilder(existingFilteredQuery) .add(termsFilter("abbrev", "computer"), factorFunction(-10f)) -- Ivan On Tue, Sep 9, 2014 at 4:28 PM, Malini <malini.ramapra...@gmail.com> wrote: > How do I implement the following query using Java ApI? Thanks! > > curl -XGET http://localhost:9200/cs/csdl/_search?pretty=true -d ' > { > "query":{ > "function_score": { > "functions": [ > { > "boost_factor": "-10", > "filter": { > "terms" : {"abbrev" : ["computer"] } > } > } > ], > "query": { > "filtered": { > "query" : { > "multi_match" : { > "fields" : ["title"], > "query" : ["computer"] > > } > }, > "filter": { > "bool": { > "must": { "range": { > "pubdate": { > "gte": "1890-09" , > "lte":"2014-08" > } > } > }, > > "must" : { > "terms" : { > "abbrev" : ["computer","annals","software"] > } > } > } > } > } > } > } > } > }' > > > > On Tuesday, June 10, 2014 1:39:57 PM UTC-7, Jörg Prante wrote: >> >> Try this >> >> import org.elasticsearch.action.search.SearchRequest; >> import org.elasticsearch.index.query.functionscore. >> FunctionScoreQueryBuilder; >> >> import java.util.Arrays; >> >> import static org.elasticsearch.client.Requests.searchRequest; >> import static org.elasticsearch.index.query.FilterBuilders.termsFilter; >> import static org.elasticsearch.index.query.QueryBuilders.matchQuery; >> import static org.elasticsearch.index.query.functionscore. >> ScoreFunctionBuilders.factorFunction; >> import static org.elasticsearch.search.builder.SearchSourceBuilder. >> searchSource; >> >> public class FunctionScoreTest { >> >> public void testFunctionScore() { >> SearchRequest searchRequest = searchRequest() >> .source(searchSource().query(new >> FunctionScoreQueryBuilder(matchQuery("party_id", "12")) >> .add(termsFilter("course_cd", >> Arrays.asList("writ100", "writ112", "writ113")), factorFunction(3.0f)))); >> } >> } >> >> Jörg >> >> >> On Tue, Jun 10, 2014 at 11:16 AM, Jayanth Inakollu <ibsjaya...@gmail.com> >> wrote: >> >>> I need to implement the below function_score query using Java APIs. I >>> couldn't find any official documentation for function_score query in the >>> Java API section of elasticsearch >>> >>> "function_score": { >>> "functions": [ >>> { >>> "boost_factor": "3", >>> "filter": { >>> "terms" : {"course_cd" : ["writ100", "writ112", >>> "writ113"] } >>> } >>> } >>> ], >>> "query": { >>> "match" : { >>> "party_id" : "12" >>> } >>> } >>> } >>> >>> Please help! >>> >>> -- >>> 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 elasticsearc...@googlegroups.com. >>> To view this discussion on the web visit https://groups.google.com/d/ >>> msgid/elasticsearch/56d92aab-a4d7-4757-9441-f248c5296b3c% >>> 40googlegroups.com >>> <https://groups.google.com/d/msgid/elasticsearch/56d92aab-a4d7-4757-9441-f248c5296b3c%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > 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/311c8492-8e78-4188-847c-44d7d115b464%40googlegroups.com > <https://groups.google.com/d/msgid/elasticsearch/311c8492-8e78-4188-847c-44d7d115b464%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- 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/CALY%3DcQCzs6fjav3SMMaf8vT79kMEccyC3-HWwK_wCjC8mYXQBw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.