python - ElasticSearch错误:[function_score]格式错误的查询,预期[END_OBJECT],但发现[FIELD_NAME]

标签 python elasticsearch

以下JSON结构在执行查询时给我一个错误:

{                                                                                                                                                                                                                                                                                        
    "query": {                                                                                                                                                                                                                                                                           
        "function_score": {                                                                                                                                                                                                                                                              
            "query": {                                                                                                                                                                                                                                                                   
                "bool": {                                                                                                                                                                                                                                                                
                    "should": [                                                                                                                                                                                                                                                          
                        {                                                                                                                                                                                                                                                                
                            "multi_match": {                                                                                                                                                                                                                                             
                                "query": "BRCA1",                                                                                                                                                                                                                                        
                                "fuzziness": "AUTO",                                                                                                                                                                                                                                     
                                "fields": [                                                                                                                                                                                                                                              
                                    "Long_Name",                                                                                                                                                                                                                                         
                                    "Short_Name",                                                                                                                                                                                                                                        
                                    "Uniprot_ID^10",                                                                                                                                                                                                                                     
                                    "Genes^2",                                                                                                                                                                                                                                           
                                    "Diseases^2",                                                                                                                                                                                                                                        
                                    "Function",                                                                                                                                                                                                                                          
                                    "Domains"                                                                                                                                                                                                                                            
                                ]                                                                                                                                                                                                                                                        
                            }                                                                                                                                                                                                                                                            
                        },                                                                                                                                                                                                                                                               
                        {                                                                                                                                                                                                                                                                
                            "term": {                                                                                                                                                                                                                                                    
                                "Is_Reviewed": true                                                                                                                                                                                                                                      
                            }                                                                                                                                                                                                                                                            
                        },                                                                                                                                                                                                                                                               
                        {                                                                                                                                                                                                                                                                
                            "term": {                                                                                                                                                                                                                                                    
                                "Has_Function": true                                                                                                                                                                                                                                     
                            }                                                                                                                                                                                                                                                            
                        }                                                                                                                                                                                                                                                                
                    ]                                                                                                                                                                                                                                                                    
                }                                                                                                                                                                                                                                                                        
            }                                                                                                                                                                                                                                                                            
        },                                                                                                                                                                                                                                                                               
        "field_value_factor": {                                                                                                                                                                                                                                                          
            "field": "Number_Of_Structures"                                                                                                                                                                                                                                              
        }                                                                                                                                                                                                                                                                                
    },                                                                                                                                                                                                                                                                                   
    "size": 100                                                                                                                                                                                                                                                                          
}  

错误是:
[function_score] malformed query, expected [END_OBJECT] but found [FIELD_NAME]

bool(boolean) 查询本身可以完美运行,但是一旦我使用function_score,它就会停止工作。我尝试遵循以下示例:https://www.elastic.co/guide/en/elasticsearch/guide/master/boosting-by-popularity.html

关于我在做什么错的任何想法,将不胜感激!

最佳答案

您必须在field_value_factor内将function_score高一级:

{
    "query": {
        "function_score": {
            "query": {
                "bool": {
                    "should": [
                        {
                            "multi_match": {
                                "query": "BRCA1",
                                "fuzziness": "AUTO",
                                "fields": [
                                    "Long_Name",
                                    "Short_Name",
                                    "Uniprot_ID^10",
                                    "Genes^2",
                                    "Diseases^2",
                                    "Function",
                                    "Domains"
                                ]
                            }
                        },
                        {
                            "term": {
                                "Is_Reviewed": true
                            }
                        },
                        {
                            "term": {
                                "Has_Function": true
                            }
                        }
                    ]
                }
            },
            "field_value_factor": {
                "field": "Number_Of_Structures"
            }
        }
    },
    "size": 100
}

关于python - ElasticSearch错误:[function_score]格式错误的查询,预期[END_OBJECT],但发现[FIELD_NAME],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788945/

相关文章:

python - Django 为 url 查询字符串设置书签

python - 字典联合并对另一个字段求​​和

python - 如何在大数据集上创建交互式图表?

amazon-web-services - Amazon Web Services - S3 - Logstash 或 Lambda 将数据导入 Elasticsearch?

Python 猜谜游戏错误?

python - Python 元类有什么用?

elasticsearch - 使用NEST的ElasticSearch中的衰变函数

elasticsearch - 如何在 Elasticsearch 查询中使少量标记成为短语

indexing - 创建Titan索引类型以进行Elasticsearch

angularjs - 无论我搜索什么,使用angularjs进行elasticsearch总是会命中数据库中的所有数据