Java 如何在存储库中使用@Highlight注释高亮显示Solr搜索中的文本
我尝试使用以下方法突出显示文本:Java 如何在存储库中使用@Highlight注释高亮显示Solr搜索中的文本,java,solr,lucene,Java,Solr,Lucene,我尝试使用以下方法突出显示文本: @Highlight(prefix="<strong>",postfix="</strong>") @突出显示(前缀=“”,后缀=“”) 像这样: @Query("articletype:?0") @Highlight(prefix="<strong>",postfix="</strong>") ON SOME METHOD @Query(“articletype:?0”) @突出显示(前缀=“”,后缀=“”
@Highlight(prefix="<strong>",postfix="</strong>")
@突出显示(前缀=“”,后缀=“”)
像这样:
@Query("articletype:?0")
@Highlight(prefix="<strong>",postfix="</strong>")
ON SOME METHOD
@Query(“articletype:?0”)
@突出显示(前缀=“”,后缀=“”)
关于某种方法
但这不起作用
我甚至尝试通过在@highlight
中将查询作为attr传递来突出显示。但那没用
请建议如何使用@Highlight
和@Query
突出显示内容。1
@Query("field_name:?0")
@Highlight(prefix="<strong>",postfix="</strong>")
public HighlightPage<YOUR_ENTITY_CLASS> yourSomeMethod(String textToBeSearched);
@Query(“字段名称:?0”)
@突出显示(前缀=“”,后缀=“”)
public HighlightPage yourSomeMethod(字符串文本搜索);
2.
HighlightPage listSolrPage=solrRepository.yourSomeMethod(文本搜索)
三,
for(highlightetry-he:listSolrPage.getHighlighted()){
for(Highlight:he.getHighlights()){
//每个突出显示在描述中可能有多个引用
StringBuilder sb=新的StringBuilder();
对于(字符串snipplet:highlight.getSnipplets()){
//snipplet包含突出显示的文本
slf4jLogger.debug(snipplet);
sb.追加(snipplet+“”);
}
}
}
1
@Query(“字段名称:?0”)
@突出显示(前缀=“”,后缀=“”)
public HighlightPage yourSomeMethod(字符串文本搜索);
2.
HighlightPage listSolrPage=solrRepository.yourSomeMethod(文本搜索)
三,
for(highlightetry-he:listSolrPage.getHighlighted()){
for(Highlight:he.getHighlights()){
//每个突出显示在描述中可能有多个引用
StringBuilder sb=新的StringBuilder();
对于(字符串snipplet:highlight.getSnipplets()){
//snipplet包含突出显示的文本
slf4jLogger.debug(snipplet);
sb.追加(snipplet+“”);
}
}
}
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 + "");
}
}
}