国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

elasticsearch搜索關(guān)鍵字高亮顯示

這篇具有很好參考價值的文章主要介紹了elasticsearch搜索關(guān)鍵字高亮顯示。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

使用 elasticsearch 時,有一個很常見的需求是,能在頁面上將搜索出的結(jié)果中屬于關(guān)鍵字的文字,進(jìn)行高亮顯示。

elasticsearch 對這個做了一定的支持,它能查詢結(jié)果的基礎(chǔ)上,額外返回需要高亮顯示關(guān)鍵字的整個文本,至于具體你想怎么用它,需要根據(jù)業(yè)務(wù)自行實現(xiàn)。

http 請求體方式

使用 kibana,直接編寫 http 請求體發(fā)送查詢請求。

在查詢的時候,增加參數(shù)?highlight,?pre_tags,?post_tags。highlight 中添加需要進(jìn)行高亮展示關(guān)鍵字的字段。

GET /data_collect/_search
{
? "query": {
? ? "bool": {
? ? ? "should": [
? ? ? ? {
? ? ? ? ? "multi_match": {
? ? ? ? ? ? "query": "車輛",
? ? ? ? ? ? "fields": ["requirement", "tag"]
? ? ? ? ? }
? ? ? ? }
? ? ? ],
? ? ? "minimum_should_match": 1
? ? }
? },
? "highlight": {
? ? "fields": {
? ? ? "tag": {},
? ? ? "requirement": {}
? ? },
? ? "pre_tags": "<span style=\"color: red\">",
? ? "post_tags": "</span>"
? }

}

查詢結(jié)果中會額外返回高亮列表:?

elasticsearch搜索關(guān)鍵字高亮顯示

java 編程方式

HighlightBuilder highlightBuilder = new HighlightBuilder();
highlightBuilder.field("requirement").field("tag");
highlightBuilder.preTags("<span style=\"color: red\">");
highlightBuilder.postTags("</span>");

然后把 HighlightBuilder 設(shè)置到 SearchSourceBuilder 中就行了。

elasticsearch搜索關(guān)鍵字高亮顯示

查詢成功后,在 SearchHit 中會返回一個 map (Map<String, HighlightField> highlightFields),里面存儲了包含高亮關(guān)鍵字的字段以及對應(yīng)的值。

值中的關(guān)鍵字用我們定義的 html 標(biāo)簽(span)包起來了,這個跟 http 請求體方式是一樣的。?

我這里由于需要先從數(shù)據(jù)庫中數(shù)據(jù)明細(xì),所以先把 HighlightField 緩存了起來。之后根據(jù)id,找到對應(yīng)的包含高亮關(guān)鍵字的值,通過反射方式,把包含高亮關(guān)鍵字的值,設(shè)置到vo中,返回到前端。

這里用反射是因為返回的 Highlight 列表中,字段是不確定的,只有匹配的字段才會返回。如果字段一多,一個個判斷有沒有值,是挺麻煩的,所以用了反射。

elasticsearch搜索關(guān)鍵字高亮顯示

返回給前端的結(jié)果中,包含了 html?標(biāo)簽:

elasticsearch搜索關(guān)鍵字高亮顯示

前端展示

前端展示(這里使用vue)的時候,使用 v-html 指令來渲染文本就行,它可以渲染富文本。比如:

elasticsearch搜索關(guān)鍵字高亮顯示

效果如下(這個是支持同義詞的,比如這里我把"車輛"和"機動車"設(shè)置成了同義詞):

elasticsearch搜索關(guān)鍵字高亮顯示文章來源地址http://www.zghlxwxcb.cn/news/detail-403103.html

到了這里,關(guān)于elasticsearch搜索關(guān)鍵字高亮顯示的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 用ES搜索關(guān)鍵字并且返回模糊字段高亮

    用ES搜索關(guān)鍵字并且返回模糊字段高亮

    ? ?一般來說,各個網(wǎng)站,首頁的搜索,都會有進(jìn)行全文搜索的示例,并且把模糊匹配的多個數(shù)據(jù)進(jìn)行標(biāo)記(高亮),這樣便于全局檢索關(guān)鍵的數(shù)據(jù),便于客戶進(jìn)行瀏覽?;诖耍疚暮唵谓榻B這種功能基本java 的 實現(xiàn) ? ?由于公司頁面此功能隱藏了,本文就以接口調(diào)用返回看具

    2024年02月14日
    瀏覽(22)
  • React實現(xiàn)關(guān)鍵字高亮

    React實現(xiàn)關(guān)鍵字高亮

    先看效果: 實現(xiàn)很簡單通過以下這個函數(shù): 展示某段文本時調(diào)用該函數(shù)處理后,在展示就能實現(xiàn)高亮效果 原理是: 這個函數(shù)的作用是在給定的文本中,將指定的進(jìn)行高亮標(biāo)記。它接受兩個參數(shù):text(要處理的文本)和 keyword(要高亮標(biāo)記的)。 函數(shù)首先使用

    2024年02月13日
    瀏覽(93)
  • JavaFx 關(guān)鍵字高亮文本實現(xiàn)

    JavaFx 關(guān)鍵字高亮文本實現(xiàn)

    原文地址:JavaFx 高亮文本實現(xiàn) - Stars-One的雜貨小窩 整藍(lán)奏云批量下載器里的搜索功能想到的一個高亮功能,借助textflow組件來實現(xiàn),記錄一下 本文基于TornadoFx框架進(jìn)行編寫,封裝工具代碼是kotlin版本 然后也是順便把這個封裝成了stars-one/common-controls 里的 xHighLightText

    2024年02月04日
    瀏覽(18)
  • 使用less命令搜索文件中的關(guān)鍵字

    使用less命令搜索文件中的關(guān)鍵字

    less 與 more 類似,less 可以隨意瀏覽文件,支持翻頁和搜索,支持向上翻頁和向下翻頁。 語法 less [參數(shù)] 文件 參數(shù)說明: -b 緩沖區(qū)大小 設(shè)置緩沖區(qū)的大小 -e 當(dāng)文件顯示結(jié)束后,自動離開 -f 強迫打開特殊文件,例如外圍設(shè)備代號、目錄和二進(jìn)制文件 -g 只標(biāo)志最后搜索的關(guān)鍵

    2024年02月12日
    瀏覽(95)
  • 【VSCode】設(shè)置關(guān)鍵字高亮的插件 | Highlight Word

    【VSCode】設(shè)置關(guān)鍵字高亮的插件 | Highlight Word

    本文主要介紹在 VSCode 看代碼時,怎樣使某個單詞高亮顯示,主要通過以下三步實現(xiàn): 安裝 highlight-words 插件 配置 highlight-words 插件 設(shè)置高亮快捷鍵F8 工作是嵌入式開發(fā)的,代碼主要是C/C++的,之前一直用 source insight 4 看代碼,最近轉(zhuǎn)到 VSCode ,使用 VSCode 看代碼時,發(fā)現(xiàn)它居

    2024年02月11日
    瀏覽(99)
  • vim 使用/進(jìn)行關(guān)鍵字搜索,跳轉(zhuǎn)到下一個搜索結(jié)果的快捷鍵

    在命令行中使用 `/` 或 `?` 向下或向上搜索指定的字符,字符可手動輸入 或 粘貼指定寄存器里的字符輸入。通過 ` n ` 或 ` N ` 繼續(xù) 原方向 或 反向跳 轉(zhuǎn)到下一個匹配到的位置。 此外還可以同時進(jìn)行多個匹配()的搜索,不同匹配項之間使用` | `隔開即可。只要找到滿足這

    2024年02月10日
    瀏覽(92)
  • 搜索引擎優(yōu)化指南:SEO關(guān)鍵字、長尾關(guān)鍵字、短尾關(guān)鍵字以及反向鏈接

    SEO 代表“搜索引擎優(yōu)化”。它是一種數(shù)字營銷策略,旨在提高網(wǎng)站或網(wǎng)頁在搜索引擎未付費結(jié)果中的在線可見性。通常,網(wǎng)站在搜索結(jié)果頁面中排名越高,或在搜索結(jié)果列表中顯示的頻率越高,它將從搜索引擎用戶那里獲得的訪問者就越多。 SEO 策略可以針對各種類型的搜索

    2024年02月04日
    瀏覽(511)
  • 拼多多關(guān)鍵字搜索API-通過關(guān)鍵字獲取拼多多商品列表

    pinduoduo.item_search 公共參數(shù) 請求地址: pinduoduo/item_search 名稱 類型 必須 描述 key String 是 調(diào)用key(必須以GET方式拼接在URL中) secret String 是 調(diào)用密鑰 api_name String 是 API接口名稱(包括在請求地址中)[item_search,item_get,item_search_shop等] cache String 否 [yes,no]默認(rèn)yes,將調(diào)用緩存的數(shù)據(jù)

    2024年02月22日
    瀏覽(98)
  • Vue關(guān)鍵字搜索功能(小案例)

    Vue關(guān)鍵字搜索功能(小案例)

    這里介紹兩種方法:1、使用watch偵聽方法 2、computed計算屬性方法 頁面結(jié)果: 第一種 第二種 相較于watch寫法,computed寫法看上去更加簡潔,比如: 1、computed自身就是一種計算屬性,不必再去data中新建一個屬性。 2、計算屬性實時更新,不用像watch方法,新建的filPerson初始值為

    2024年02月06日
    瀏覽(86)
  • js將搜索的關(guān)鍵字加顏色

    js將搜索的關(guān)鍵字加顏色

    使用正則匹配并加入span標(biāo)簽,頁面渲染時使用v-html渲染即可

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包