Elasticsearch / Lucene亮点 [英] Elasticsearch/Lucene highlight

查看:186
本文介绍了Elasticsearch / Lucene亮点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用fuzzyLikeThisFieldQuery在弹性搜索中突出显示结果查询?我可以拿起fuzzyQuery,但不能使用fuzzyLikeThisFieldQuery。例如,在下面的代码中,我使用fuzzyQuery:

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();

结果是

If you want to have a <em>foobar</em> for oracle

但是,如果我使用fuzzyLikeThisFieldQuery,没有突出显示

But if i use fuzzyLikeThisFieldQuery, didn't highlight

QueryBuilder allquery = QueryBuilders.fuzzyLikeThisFieldQuery("name").likeText("fooobar").minSimilarity(0.4f);

结果是

If you want to have a foobar for oracle

任何人都知道为什么? p>

Anyone know why?

推荐答案

您需要调用这两个函数来设置荧光笔标签。

You need to call these two functions to set the highlighter tags..

builder.setHighlighterPreTags("<pre>").setHighlighterPostTags("</pre>");

这篇关于Elasticsearch / Lucene亮点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆