def _constructSolrQuery()

in plugins/slcp/dat/Writer.py [0:0]


    def _constructSolrQuery(self, startIndex, entriesPerPage, parameters, facets):
        queries = []
        filterQueries = []

        for key, value in parameters.items():
            if key == 'id':
                queries.append('id:' + self._urlEncodeSolrQueryValue(value))
            elif key == 'slcpShortName':
                queries.append('SlcpShortName:' + self._urlEncodeSolrQueryValue(value))
            elif key == 'shortName':
                queries.append('ShortName:' + self._urlEncodeSolrQueryValue(value))
            elif key == 'nexusShortName':
                queries.append('GlobalAttrNexusShortName:' + self._urlEncodeSolrQueryValue(value))
            elif key == 'inDAT':
                filterQueries.append('InDAT:%s' % value)

        if len(queries) == 0:
            queries.append('*:*')

        query = 'q='+'+AND+'.join(queries)+'&version=2.2&indent=on&wt=json'+'&rows='+str(entriesPerPage)

        if len(filterQueries) > 0:
            query += '&fq='+'+AND+'.join(filterQueries)

        query += '&sort=' + urllib.parse.quote("DATOrder desc,ShortName asc")

        logging.debug('solr query: '+query)

        return query