13
我有一個查詢(以及它的一部分 - 剩下的就是不重要的像分頁):Elasticsearch - 具有較高的價值提升嵌套查詢
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"term": {
"is_active": true
}
}
],
"should": [
{
"bool": {
"must": [
{
"nested": {
"path": "skills",
"query": {
"bool": {
"must": [
{
"bool": {
"must": [
{
"range": {
"skills.value": {
"gte": "2"
}
}
},
{
"term": {
"skills.skill.name": "php"
}
}
]
}
}
]
}
}
}
}
],
"boost": 2
}
}
]
}
}
}
}
這是用於搜索個人資料,其中有一個技能「PHP」與價值2個或更多。用戶可以搜索多個技能=>值對。 它工作正常,但我有一個問題:
如何提高skill.value相匹配的技能,只是爲了讓PHP值爲3的人在搜索結果中比擁有PHP 2的人更高如果兩者都是正確的匹配。
: :「TransportError:TransportError(500,u'search_phase_execution_exception',u'org.elasticsearch.index.fielddata.plain.PagedBytesIndexFieldData can not to cast to org.elasticsearch.index.fielddata.IndexNumericFieldData')」 –