I'd like to search terms (GoogleEarth or googleearch) using elasticSearch.
Now if I tried to search query 'Google', I cannot get any results without NGram or EdgeNGram.
I don't want to use nGram because they get a lot of results. So now I just use Bool Query + multimatchquery. At this case, I cannot get results by partial words.
I hope I can search 'Google Earth' or 'Google' or 'Earth' to get GoogleEarth. How can I get this?
Now I just use query 'GoogleEarth' to get right result. I want to search terms if they included.
.setQuery(QueryBuilders.boolQuery().should(QueryBuilders.multiMatchQuery(query,
'title','name','tag')))
update
I tried to search terms based on exact match. If I search 'google', i want to get 'google***' 'googleearth' and so on. I know if I use edgeNGram or nGram, i may get less related results. So if possible, I don't want to use nGram or edgeNGram. Do you have any ideas?