Likely spammers, bad bots, and similar bad actors scraping your site or looking for SQL injection vulnerabilities. You can delete the bad search terms from the Magento admin so they don't show up in the suggestions.
You can use Google Webmaster Tools to see if there are shady sites linking to your site, which can cause some strange search terms to show up.
With enough digging in Google Analytics, you could pin down where these searches are geographically coming from; I suspect you'll find that those search terms come from just one or two countries. Set up a WAF to block some of this traffic.
Finally, I would suggest signing up for a (free) service like Cloudflare which can help block some of the bad actors.