Elasticsearch/Lucene高光
如何在elasticsearch中使用fuzzyLikeThisFieldQuery突出显示结果查询?我可以学习fuzzyQuery,但不能学习FuzzyLithisFieldQuery。例如,在下面的代码中,我使用了fuzzyQuery:Elasticsearch/Lucene高光,lucene,highlight,elasticsearch,Lucene,Highlight,elasticsearch,如何在elasticsearch中使用fuzzyLikeThisFieldQuery突出显示结果查询?我可以学习fuzzyQuery,但不能学习FuzzyLithisFieldQuery。例如,在下面的代码中,我使用了fuzzyQuery: QueryBuilder allquery = QueryBuilders.fuzzyQuery("name", "fooobar").minSimilarity(0.4f); SearchRequestBuilder builder = ds.getEl
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
If you want to have a foobar for oracle
结果是
If you want to have a <em>foobar</em> for oracle
If you want to have a foobar for oracle
有人知道为什么吗?您需要调用这两个函数来设置高亮标记
builder.setHighlighterPreTags("<pre>").setHighlighterPostTags("</pre>");
您需要调用这两个函数来设置高亮标记
builder.setHighlighterPreTags("<pre>").setHighlighterPostTags("</pre>");
我需要突出显示关键字,并使用我在下面编写的方法对我来说很好:
root = new JsonParser().parse(_searchResponse.toString());
p.results.add(root.getAsJsonObject().get("hits").getAsJsonObject().get("hits"));
你会得到这样的回答:
希望您了解它的工作原理并亲自尝试。我需要突出显示关键字,并使用我在下面编写的方法对我来说很好:
root = new JsonParser().parse(_searchResponse.toString());
p.results.add(root.getAsJsonObject().get("hits").getAsJsonObject().get("hits"));
你会得到这样的回答:
希望您了解它的工作原理并亲自尝试