Esempio n. 1
0
File: api.py Progetto: mhaya/weko
    def get_custom_sort(cls, index_id, sort_type):
        """Get custom sort."""
        if sort_type == "asc":
            factor_obj = Indexes.get_item_sort(index_id)
            script_str = {
                "_script": {
                    "script":
                    "factor.get(doc[\"control_number\"].value)&&factor.get(doc[\"control_number\"].value) !=0 ? factor.get(doc[\"control_number\"].value):Integer.MAX_VALUE",
                    "type": "number",
                    "params": {
                        "factor": factor_obj
                    },
                    "order": "asc"
                }
            }
            default_sort = {'_created': {'order': 'desc'}}
        else:
            factor_obj = Indexes.get_item_sort(index_id)
            script_str = {
                "_script": {
                    "script":
                    "factor.get(doc[\"control_number\"].value)&&factor.get(doc[\"control_number\"].value) !=0 ? factor.get(doc[\"control_number\"].value):0",
                    "type": "number",
                    "params": {
                        "factor": factor_obj
                    },
                    "order": "desc"
                }
            }
            default_sort = {'_created': {'order': 'asc'}}

        return script_str, default_sort
Esempio n. 2
0
    def get_custom_sort(cls, index_id, sort_type):
        """Get custom sort."""
        if sort_type == "asc":
            factor_obj = Indexes.get_item_sort(index_id)
            script_str = {
                "_script": {
                    "script": {
                        "source":
                        "if(params.factor.get(doc[\"control_number\"].value.toString())!=null){params.factor.get(doc[\"control_number\"].value.toString())}else{Integer.MAX_VALUE}",
                        "lang": "painless",
                        "params": {
                            "factor": factor_obj
                        }
                    },
                    "type": "number",
                    "order": "asc"
                }
            }
            default_sort = {
                '_created': {
                    'order': 'desc',
                    'unmapped_type': 'long'
                }
            }
        else:
            factor_obj = Indexes.get_item_sort(index_id)
            script_str = {
                "_script": {
                    "script": {
                        "source":
                        "if(params.factor.get(doc[\"control_number\"].value.toString())!=null){params.factor.get(doc[\"control_number\"].value.toString())}else{0}",
                        "lang": "painless",
                        "params": {
                            "factor": factor_obj
                        }
                    },
                    "type": "number",
                    "order": "desc"
                }
            }
            default_sort = {
                '_created': {
                    'order': 'asc',
                    'unmapped_type': 'long'
                }
            }

        return script_str, default_sort