Hey, thanks for getting back to me, but with a little more thought I
actually figured this out. What I needed was this...
{
"query":{
"function_score":{
"query":{
"bool":{
"should": [
{
"range": {
"allBoost": {
"gt": 0
}
}
},{
"multi_match":{
"query":"some search query",
"fields":[
"id",
"name",
"description",
"category"
]
}
}
]
}
},
"functions":[
{
"filter":{
"range": {
"allBoost": {
"gt": 0
}
}
},
"script_score":{
"script":"doc['allBoost'].value"
}
},
{
"filter":{
"range": {
"allBoost": {
"lte": 0
}
}
},
"script_score":{
"script":"_score"
}
}
],
"boost_mode": "replace"
}
}
}
What was missing was the knowledge that you could nest multi field queries
within bool queries...
On Thursday, April 3, 2014 9:45:06 AM UTC+1, Britta Weber wrote:
>
> Hi,
>
> I am unsure I got that right - the query in the function_score can be
> any query, also a bool query. If you want documents that do not match
> the above query, but some other criterion (for example range query) to
> be scored with the function_score functions you can just replace the
> query_string with a
> "bool" : {"should": [{"query_string:{...}"}, {"range": {...}}]}.
> Was that your question?
> If not, could you elaborate a little more on what you want to achieve?
>
>
>
> On Wed, Apr 2, 2014 at 5:01 PM, Garry Welding
> <[email protected]<javascript:>>
> wrote:
> > I'm currently doing a query that's a mix of multi match and function
> score.
> > The important bit of the JSON looks like this:
> >
> > "function_score":{
> > "query":{
> > "query_string":{
> > "query":"some query",
> >
> > "fields":["id","name","strippedDescription","colourSearch","sizeSearch"]
> > }
> > }
> > }
> >
> > However, I also want to include results that don't necessarily match the
> > query but have a particular numeric value that's greater than 0. I think
> a
> > bool query would do this, but I don't know how to use a bool query with
> a
> > function score query.
> >
> > I understand that a multi match query is just shorthand for a bool
> query,
> > and I could expand out the multi match query into its bool counter-part,
> > however, I then don't know how I would do function score within that.
> >
> > Any ideas? I'm on version 1.1.0 by the way.
> >
> > --
> > 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] <javascript:>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/elasticsearch/4279a874-eef8-47ec-9f49-f91efed1f851%40googlegroups.com.
>
>
> > 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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/e1d8c456-d62a-498e-a805-ac40e40131d5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.