我尝试使用以下方式突出显示文本:

@Highlight(prefix="<strong>",postfix="</strong>")


像这样:

@Query("articletype:?0")
@Highlight(prefix="<strong>",postfix="</strong>")
ON SOME METHOD


但这是行不通的。

我什至尝试通过在@Highlight中将查询作为attr传递来突出显示。但这没有用。

请建议如何将@Highlight@Query一起使用以突出显示内容。

最佳答案

1。

@Query("field_name:?0")
@Highlight(prefix="<strong>",postfix="</strong>")
public HighlightPage<YOUR_ENTITY_CLASS> yourSomeMethod(String textToBeSearched);



2。


HighlightPage listSolrPage = solrRepository.yourSomeMethod(textToBeSearched);

3。

 for (HighlightEntry<YOUR_ENTITY_CLASS> he : listSolrPage.getHighlighted()) {
            for (Highlight highlight : he.getHighlights()) {
                    // Each highlight might have multiple occurrences within the description
                    StringBuilder sb = new StringBuilder();
                    for (String snipplet : highlight.getSnipplets()) {
                        // snipplet contains the highlighted text
                        slf4jLogger.debug(snipplet);
                        sb.append(snipplet + "");
                    }
            }
        }

关于java - 如何在存储库中使用@Highlight注释突出显示Solr Search中的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39788274/

10-12 17:20