如何使用Solrj显示突出显示的文本

时间:2017-08-09 20:05:44

标签: solrj

我是Solr和SolrJ的新手。我正在尝试用于桌面应用程序,我有文件(文本文件)来索引和搜索。我想使用高亮显示功能并使用高亮显示片段,但是当我突出显示文本时,我不会让它们以黄色背景显示,请告诉我如何以黄色背景显示文本。

这是我的代码段:

public void TestHighLight(SolrQuery query) throws 
              SolrServerException, IOException {
    query.setQuery("*");
    query.set("hl", "true");
    query.set("hl.snippets", "5");
    query.set("q", "text:Pune");
    query.set("hl.fl", "*");
    QueryResponse queryResponse = client.query(query);
    SolrDocumentList docs = queryResponse.getResults();
    Iterator  iter = docs.iterator(); 
    for (int i = 0; i < docs.size(); i++) {
        iter = docs.get(i).getFieldNames().iterator();
        String fldVal = (String) docs.get(i).getFieldValue("id");
        String docID = (String) docs.get(i).get("id");
        while (iter.hasNext()) {
            String highlighText = getHighlightedText(queryResponse, 
            "text", docID);
            System.out.println(" tHighlightedText is "  + highlighText );
        }
    }
}

输出如下:我该如何着色? [适用于 Pune的Java开发人员

非常感谢!

1 个答案:

答案 0 :(得分:0)

设置荧光笔的前后参数。指定在突出显示的术语之前使用的“标记”。这可以是任何字符串,但通常是HTML或XML标记。

e.g:

solrQueryHandler.setHighlightSimplePre("<font color="yellow">");
solrQueryHandler.setHighlightSimplePost("/font");

但请注意,这仅适用于原始荧光笔

相关问题