Index time boost in multi_field ignored?


(Alex Roytman) #1

I am using multi_field to combine several properties for searching instead
of using _all
It looks like boost specified in my secondary fields are ignored. It worked
fine with _all but not with multifield

here is the snippet where I put very low boost for my all field (I feed
dozens of properties into it with different boosts) but it has no effect

        "type": {
          "dynamic": "true",
          "properties": {
            "id": {
              "type": "integer",
              "include_in_all": false
            },
            "name": {
              "type": "multi_field",
              "path": "just_name",
              "fields": {
                "name": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.3
                },
                "all": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.01
                },
                "all_stem": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.01
                }
              }
            }
          }
        }

--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(David Pilato) #2

How do you build your query? Could you gist a full curl recreation?

--
David :wink:
Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs

Le 6 nov. 2013 à 02:12, AlexR roytmana@gmail.com a écrit :

I am using multi_field to combine several properties for searching instead of using _all
It looks like boost specified in my secondary fields are ignored. It worked fine with _all but not with multifield

here is the snippet where I put very low boost for my all field (I feed dozens of properties into it with different boosts) but it has no effect

        "type": {
          "dynamic": "true",
          "properties": {
            "id": {
              "type": "integer",
              "include_in_all": false
            },
            "name": {
              "type": "multi_field",
              "path": "just_name",
              "fields": {
                "name": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.3
                },
                "all": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.01
                },
                "all_stem": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.01
                }
              }
            }
          }
        }

--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Alex Roytman) #3

{
"query": {
"bool": {
"should": [
{
"match": {
"all": {
"query": "call",
"type": "phrase",
"slop": 1,
"boost": 1.2,
"analyzer": "stemmed_no_original"
}
}
},
{
"match": {
"all": {
"query": "call",
"operator": "and",
"analyzer": "stemmed_no_original"
}
}
}
]
}
}
}

if i replace "all" with "_all" it works as expected (as far as boosts)
prioritizing data supplied by other properties to my "all" multi_field but
when using my all everything is mixed together with no regard to boosts.

I should emphasize that mapping sample above is just a small part of my
mapping where many properties contribute to the same all and all_stem
multi_fields and I was hoping to control importance by using boost like I
did when I used _all.

If you think it should work, I will work on a simple recreation tomorrow. I
will need to do it from scratch as my mapping is way to big

On Tuesday, November 5, 2013 8:12:36 PM UTC-5, AlexR wrote:

I am using multi_field to combine several properties for searching instead
of using _all
It looks like boost specified in my secondary fields are ignored. It
worked fine with _all but not with multifield

here is the snippet where I put very low boost for my all field (I feed
dozens of properties into it with different boosts) but it has no effect

        "type": {
          "dynamic": "true",
          "properties": {
            "id": {
              "type": "integer",
              "include_in_all": false
            },
            "name": {
              "type": "multi_field",
              "path": "just_name",
              "fields": {
                "name": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.3
                },
                "all": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.01
                },
                "all_stem": {
                  "type": "string",
                  "index_options": "offsets",
                  "boost": 0.01
                }
              }
            }
          }
        }

--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Alex Roytman) #4

here a gist of my mappings: https://gist.github.com/roytmana/7330531

Please let me know if you think boosting should work on all and all_stem
fields and I will work on recreation

--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(Alex Roytman) #5

here is recreation gist and query results

On Tuesday, November 5, 2013 10:48:44 PM UTC-5, AlexR wrote:

here a gist of my mappings: https://gist.github.com/roytmana/7330531

Please let me know if you think boosting should work on all and all_stem
fields and I will work on recreation

--
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+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


(system) #6