java - Elasticsearch 5.1 Java API 突出显示

标签 java elasticsearch

您能否提供一个示例,说明如何使用 Elasticsearch 5.1 Java API 在所有字段中突出显示查询?

    HighlightBuilder highlightBuilder = new HighlightBuilder()
            .postTags("<highlight>")
            .preTags("</highlight>")
            .highlightQuery(QueryBuilders.queryStringQuery( "ferrari"));


    SearchRequestBuilder request = client.prepareSearch("notemates")
            .setTypes("cars")
            .setQuery(QueryBuilders.queryStringQuery( "ferrari"))
            .setSearchType(SearchType.DEFAULT)
            .highlighter(highlightBuilder);
    SearchResponse response = request.get();

有什么问题吗?

非常感谢。

最佳答案

您需要将您正在使用的字段专门添加到HighlightBuilder:

HighlightBuilder highlightBuilder = new HighlightBuilder()
        .postTags("<highlight>")
        .preTags("</highlight>")
        .field("title");

关于java - Elasticsearch 5.1 Java API 突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41661954/

相关文章:

elasticsearch - 使用 Elasticsearch 从文本中提取关键字(多词)

amazon-web-services - 使用 aws cli 将日志流式传输到 elastic

ElasticSearch - 按特定字段删除文档

java - 在哪里可以找到 Java JDK 源代码?

java - 无法使用 instanceof 比较两个对象

amazon-web-services - 连接到Elasticsearch-Amazon Elasticsearch Service-IAM用户

python - 对连接的字符串进行标记

java - 在 Eclipse 中突出显示文件

java - Eclipse JavaEE (Maven)项目 WAS 7 迁移到 IntelliJ

java - 来自 openfeign 和 Observable 的 @FeignClient 导致 fastxml.jackson.databind.exc.InvalidDefinitionException