Can ES aggregation aggregate similar terms into one bucket?

Say, the log has a field like "queryTerm" to save query term from our site search.

We want to categorize all query terms and group similar terms into one category.

Example, "directx", "direct download" will be in same category.

The categorize and group sound like ES's aggregation.

Does ES aggregation support this scenario? or Any work around if no such built-in support.

If you are wanting to cluster related query terms then click logs are a useful way of doing this.

We demonstrate doing this with the Graph plugin at 27:40 in this video: https://www.elastic.co/elasticon/conf/2016/sf/graph-capabilities-in-the-elastic-stack