You can try to use this mysql query for indexing:
WHERE (NOW() BETWEEN k.startDate and k.endDate)
instead of:
k.startDate <= NOW() and endDate >= NOW()
to prevent the error
The value of attribute "query" associated with an element type "entity" must not contain the '<' character
For your Solr query
startdate:[* to NOW]
to work, make sure your startdate field conforms to the Solr dateField type. For more info on this, check this link