I am able to access fields at the document level, the problem is only when i try to access nested fields with doc['nested_field'] in the script. Anyone has a solution for this ?
On Wednesday, August 27, 2014 12:54:26 AM UTC-7, Srinivasan Ramaswamy wrote: > > I have the following document schema > > authorid: 1 > athorName: joshua bloch > books: [ > { > bookId: 100 > bookName: effective java > sales: 200 > }, > { > bookId: 101 > bookName: Java Puzzlers > sales: 100 > } > ] > sellerTags: ["java book", "effective java", "joshua bloch"] > > 'books' is a nested field in the above schema. I am trying to access that > nested field in a script inside a function query, but something is going > wrong. > > { > "explain": true, > "query": { > "function_score": { > "boost_mode": "replace", > "query": { > "match": { "sellerTags":"java book"} > }, > "script_score": { > "params": { > "param1": 2 > }, > "script": "doc['books.sales'].value * param1 " > } > } > } > } > > Though each document returned has sales in the index, I get a score of 0 > for both the documents i have (I have got one more document that matches > the query). If it is helpful here is a part of explain string that shows > that script is making the score as 0 > > "details": [ > { > "value": 0, > "description": "script score function: composed > of:", > "details": [ > { > "value": 3.5981894, > "description": "sum of:", > "details": [ ...PerFieldSimilarity...] > } ] > > > > Can some one point out the mistake in my query. Why do i get the score as > 0 and how to fix it ? > > -- 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/6137afb4-4dcf-4a89-ae3b-ef1278970153%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.