How to highlight result query with fuzzyLikeThisFieldQuery in elasticsearch? I can pick up on fuzzyQuery but not fuzzyLikeThisFieldQuery. For example, in the code below i used fuzzyQuery:
QueryBuilder allquery = QueryBuilders.fuzzyQuery("name", "fooobar").minSimilarity(0.4f);
SearchRequestBuilder builder = ds.getElasticClient()
.prepareSearch("data")
.setQuery(allquery)
.setFrom(0)
.setSize(10)
.setTypes("entity")
.setSearchType(SearchType.DEFAULT)
.addHighlightedField("name")
.addField("name");
SearchResponse sr = builder.execute().actionGet();
the result is
If you want to have a <em>foobar</em> for oracle
But if i use fuzzyLikeThisFieldQuery, didn't highlight
QueryBuilder allquery = QueryBuilders.fuzzyLikeThisFieldQuery("name").likeText("fooobar").minSimilarity(0.4f);
the result is
If you want to have a foobar for oracle
Anyone know why?
You need to call these two functions to set the highlighter tags..
I need to highlight the keyword and use the method I've written below works fine for me:
I use Gson to parse response string as a json object and cast to my entity like below:
You will get such a response like this:
Wish you to get how it works and try it yourself.