For the record, this array syntax should work as well:
$qry = array(
'query' => array(
'function_score' => array(
'functions' => array(
array("script_score" => array('script' =>
"doc['boostfield'].value"))
),
'query' => array(
'query_string' => array('query' => 'MyQuery')
),
'score_mode' => 'multiply'
)
));
But the object notation tends to be safer because it can handle empty
objects (for example, a random function without a seed is just
`"random_score" : {}`, which will break the array notation. Objects make
sure that doesn't happen.
On Wednesday, March 12, 2014 2:47:00 PM UTC-4, Erdal Gunyar wrote:
>
> Hi everybody,
>
> Does anyone here successfully implemented function_score with
> elasticsearch-php?
> Of course, without passing all the body as a JSON string.
>
> I've actually tried but it failed, it looks like it's impossible to pass
> the "array+object" located in the "functions" part :
> "query": {
> "function_score": {
> "query": {
> "query_string": {
> "query": "MyQuery",
> }
> },
> "functions": [{
> "script_score": {
> "script": "doc['boostfield'].value"
> }
> }],
> "score_mode": "multiply"
> }
> },
>
> Any help will be appreciated! :)
>
> Thanks,
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/4af5db19-af3d-4a01-b428-6b8e3e90af75%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.