Maybe a typo?
For this example
PUT /test/test/1
{
"name" : "einzelhandel",
"type" : "oa"
}
PUT /test/test/2
{
"name" : "grosshandel",
"type" : "oa"
}
PUT /test/test/3
{
"name" : "grosshandel",
"type" : "closed"
}
POST /test/test/_search
{
"explain": true,
"query": {
"bool": {
"must": {
"match": {
"name": {
"query": "einzelhandel",
"boost": 200
}
}
},
"should": {
"match": {
"type": {
"query" : "oa",
"boost": 400
}
}
}
}
}
}
I get a reasonable explain:
{
"took": 4,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.41168627,
"hits": [
{
"_shard": 2,
"_node": "RuosUkeaQKqKYq_WWi_brA",
"_index": "test",
"_type": "test",
"_id": "1",
"_score": 0.41168627,
"_source": {
"name": "einzelhandel",
"type": "oa"
},
"_explanation": {
"value": 0.41168627,
"description": "sum of:",
"details": [
{
"value": 0.13722876,
"description": "weight(name:einzelhandel^200.0 in 0)
[PerFieldSimilarity], result of:",
"details": [
{
"value": 0.13722876,
"description": "score(doc=0,freq=1.0 =
termFreq=1.0\n), product of:",
"details": [
{
"value": 0.4472136,
"description": "queryWeight, product of:",
"details": [
{
"value": 200,
"description": "boost"
},
{
"value": 0.30685282,
"description": "idf(docFreq=1,
maxDocs=1)"
},
{
"value": 0.0072871028,
"description": "queryNorm"
}
]
},
{
"value": 0.30685282,
"description": "fieldWeight in 0, product
of:",
"details": [
{
"value": 1,
"description": "tf(freq=1.0), with
freq of:",
"details": [
{
"value": 1,
"description": "termFreq=1.0"
}
]
},
{
"value": 0.30685282,
"description": "idf(docFreq=1,
maxDocs=1)"
},
{
"value": 1,
"description": "fieldNorm(doc=0)"
}
]
}
]
}
]
},
{
"value": 0.2744575,
"description": "weight(type:oa^400.0 in 0)
[PerFieldSimilarity], result of:",
"details": [
{
"value": 0.2744575,
"description": "score(doc=0,freq=1.0 =
termFreq=1.0\n), product of:",
"details": [
{
"value": 0.8944272,
"description": "queryWeight, product of:",
"details": [
{
"value": 400,
"description": "boost"
},
{
"value": 0.30685282,
"description": "idf(docFreq=1,
maxDocs=1)"
},
{
"value": 0.0072871028,
"description": "queryNorm"
}
]
},
{
"value": 0.30685282,
"description": "fieldWeight in 0, product
of:",
"details": [
{
"value": 1,
"description": "tf(freq=1.0), with
freq of:",
"details": [
{
"value": 1,
"description": "termFreq=1.0"
}
]
},
{
"value": 0.30685282,
"description": "idf(docFreq=1,
maxDocs=1)"
},
{
"value": 1,
"description": "fieldNorm(doc=0)"
}
]
}
]
}
]
}
]
}
}
]
}
}
Jörg
On Mon, Aug 4, 2014 at 1:28 PM, Bernd Fehling bernd.fehling@gmail.com
wrote:
While trying to get familiar with ES I wrote some plugins.
But the tests are showing differences compared to Solr.
But where is the bug, in ES or in Solr?
In ES my query is:
{
"fields": [
"score",
"dctitle",
"dcoa"
],
"explain": true,
"query": {
"bool": {
"must": {
"match": {
"text": {
"query": "einzelhandel",
"boost": 200
}
}
},
"should": {
"match": {
"oa": {
"query": "1",
"boost": 400
}
}
}
}
}
}
And the explain result is:
- _explanation: {
- value: 1.4639825
- description: sum of:
- details: [
- {
- value: 1.2748994
- description: weight(text:einzelhandel^200.0 in 188102) [
PerFieldSimilarity], result of:
- details: [
- {
- value: 1.2748994
- description: score(doc=188102,freq=1.0 = termFreq=1.0
), product of:
- details: [
- {
- value: 0.98196113
- description: queryWeight, product of:
- details: [
- {
- value: 200
- description: boost
}
- {
- value: 10.386557
- description: idf(docFreq=50, maxDocs=
}
- {
- value: 0.00047270773
- description: queryNorm
}
]
}
- {
- value: 1.2983196
- description: fieldWeight in 188102, product of:
- details: [
- {
- value: 1
- description: tf(freq=1.0), with freq of:
- details: [
- {
- value: 1
- description: termFreq=1.0
}
]
}
- {
- value: 10.386557
- description: idf(docFreq=50, maxDocs=
}
- {
- value: 0.125
- description: fieldNorm(doc=188102)
}
]
}
]
}
]
}
- {
- value: 0.1890831
- description: ConstantScore(oa:[1 TO 1]^400.0)^400.0,
product of:
- details: [
- {
- value: 400
- description: boost
}
- {
- value: 0.00047270773
- description: queryNorm
}
]
}
]
}
}
The top part looks good to me, but why is ES building from
"should(oa:1^400)" something
like "ConstantScore(oa:[1 TO 1]^400.0)^400.0" which looks like a range
query with double boost of 400?
Is that right?
Regards
Bernd
--
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.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/45f94ead-b37c-4c13-9bd2-8833cd8387da%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/45f94ead-b37c-4c13-9bd2-8833cd8387da%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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoHw6fqKGvk-mAf%2B9wz0TgtE7YsW_nwWShPin3dzPZ8bFA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.