当前位置: 首页 > news >正文

网站建设 东八区营销方式有哪几种

网站建设 东八区,营销方式有哪几种,小程序注册之后怎么开发,吴忠网站建设公司由于es高亮显示机制的问题。当全文内容过多,且搜索中标又少时,就会出现高亮结果无法覆盖全文。因此需要根据需求手动替换。 1.根据es的ik分词器获取搜索词的分词结果。 es部分: //中文分词解析 post /_analyze {"analyzer":"…

由于es高亮显示机制的问题。当全文内容过多,且搜索中标又少时,就会出现高亮结果无法覆盖全文。因此需要根据需求手动替换。
1.根据es的ik分词器获取搜索词的分词结果。
es部分:

//中文分词解析
post /_analyze
{"analyzer":"ik_smart","text":"谷歌浏览器"
}//结果
{"tokens": [{"token": "谷歌","start_offset": 0,"end_offset": 2,"type": "CN_WORD","position": 0},{"token": "浏览器","start_offset": 2,"end_offset": 5,"type": "CN_WORD","position": 1}]
}

注意:ik_smart 是最粗颗粒度,不会有重复分词。ik_max_word 是最细颗粒度,会有重复分词。高亮显示只需要最粗即可。
ik_smart:
在这里插入图片描述
ik_max_word:
在这里插入图片描述

将es的语句转为Java语句:

//主要使用的包
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.elasticsearch.client.Request;
import org.elasticsearch.client.Response;
import org.elasticsearch.client.RestHighLevelClient;@Resourceprivate RestHighLevelClient restHighLevelClient;/*** 获取到es的分词结果** @param searchContent 查询关键字* @return 分词结果*/private List<String> getAnalyze(String searchContent) {List<String> tokens = new ArrayList<>();if (StringUtils.isNotEmpty(searchContent)) {String endpoint = "/_analyze";String body = "{\n" +"  \"analyzer\": \"ik_smart\",\n" +"  \"text\": \"" + searchContent + "\"\n" +"}";try {Request request = new Request("POST", endpoint);request.setJsonEntity(body);Response response = restHighLevelClient.getLowLevelClient().performRequest(request);InputStream content = response.getEntity().getContent();JsonNode jsonNode = objectMapper.readTree(content);if (jsonNode.has("tokens")) {for (JsonNode token : jsonNode.get("tokens")) {tokens.add(token.get("token").asText());}}} catch (IOException | UnsupportedOperationException e) {log.error("ES查询分词异常", e);}}return tokens;}

2.根据获取到的多个分词数据。替换全文内容。

    /*** 根据多个需要替换的字符,高效替换全文数据* @param replaceStrList 替换字符* @param content 全文* @return 高亮显示的全文*/private String replaceHighlight(List<String> replaceStrList, String content) {StringBuffer result = new StringBuffer();try {Map<String, String> replacements = new HashMap<>();for (String replaceStr : replaceStrList) {replacements.put(replaceStr, "<font class='eslight'>" + replaceStr + "</font>");}Pattern pattern = Pattern.compile(String.join("|", replacements.keySet()));Matcher matcher = pattern.matcher(content);while (matcher.find()) {matcher.appendReplacement(result, replacements.get(matcher.group(0)));}matcher.appendTail(result);} catch (Exception e) {log.error("替换高亮显示异常", e);}return result.toString();}

此时就能将全文关键词以分词的效果高亮显示了。

http://www.khdw.cn/news/44322.html

相关文章:

  • 哪家做网站好 成都引流推广的句子
  • 免费游戏网页优化大师怎么强力卸载
  • 全功能电子商务网站建设360推广登陆
  • 微信小程序开发技术栈谷歌seo优化公司
  • 阳江网站制作公司长沙网络营销咨询费用
  • 做网站收入来源表搜索引擎关键词优化有哪些技巧
  • 怎么做网站服务器吗代写软文费用全网天下实惠
  • 阿里巴巴网站怎样做的漂亮企业网站排名优化价格
  • 网站制作一个人可以做吗推广seo公司
  • 长沙市网站开发网络营销渠道策略
  • 学校微网站模板查询收录
  • 朝阳区公安局网站备案职业教育培训机构排名前十
  • 做图模板网站有哪些内容品牌营销策划书
  • 石家庄网络建站网络营销企业网站优化
  • 不用服务器怎么做网站短视频推广平台有哪些
  • 购物商城html网站代码魔方优化大师官网
  • 网站测试方法有哪些谷歌关键词搜索工具
  • 网站欢迎屏怎么做三一crm手机客户端下载
  • 宜昌网站设计公司百度网址大全网址导航
  • 大连网站建设工作室软文文案范文
  • 网站项目分析怎么做 方法有哪些互联网营销的十五种方式
  • 电商网站可以用dw做百度seo文章
  • 网站建设商城制作盘搜搜
  • 网上商店的优势和劣势新手做seo怎么做
  • 室内设计联盟官方网站入口网站流量数据分析
  • 做网站找哪个公司好申请百度账号注册
  • 设计师网上接单兼职福清市百度seo
  • 衢州网站建设精华app推广
  • 网站建设费用及预算seo属于什么
  • 成都网站建设前50强网络销售话术900句