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

焦作网站建设的公司哪家好小程序商城模板免费

焦作网站建设的公司哪家好,小程序商城模板免费,苏州优化哪家公司好,深圳画册设计排版ES全文检索支持拼音和繁简检索 1. 实现目标2. 引入pinyin插件2.1 编译 elasticsearch-analysis-pinyin 插件2.2 安装拼音插件 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4. 建立es索引5.测试检索6. 繁简转换 1. 实现目标 ES检索时… ES全文检索支持拼音和繁简检索 1. 实现目标2. 引入pinyin插件2.1 编译 elasticsearch-analysis-pinyin 插件2.2 安装拼音插件 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4. 建立es索引5.测试检索6. 繁简转换 1. 实现目标 ES检索时无论输入简体还是繁体都要能够被检索到例如检索时输入“語法”或者“语法”检索结果中无论是简体繁体都务必要被命中。 并且也要正确的高亮返回 2. 引入pinyin插件 拼音分词器pinyin analyzer通常需要自行引入因为它不是 Elasticsearch 的默认分词器。可以使用 Elasticsearch 的插件来引入 pinyin 分词器以便在索引中使用它。 2.1 编译 elasticsearch-analysis-pinyin 插件 选择与自己版本一致的版本插件地址 https://github.com/medcl/elasticsearch-analysis-pinyin/releases elasticsearch-analysis-pinyin分词器目前没有下载即可使用的安装包需要自己下载源码进行编译。可以在项目目录elasticsearch-analysis-pinyin\target\releases看到编译后的结果elasticsearch-analysis-pinyin-7.17.11.zip 2.2 安装拼音插件 然后在es的安装目录下plugins目录下新建pinyin目录并将解压后的文件复制到该目录下 重启es启动日志中已经加载了拼音插件 3. 引入ik分词器插件 GitHub下载地址Releases · infinilabs/analysis-ik · GitHub 3.1 已有作者编译后的包文件 选择与所需es版本相同的ik分词器下载已经打包后的.zip文件 3.2 只有源代码的版本 首先下载源码解压后使用idea打开修改es版本与分词器版本相同 使用 mvn clean install 打包时报错 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project elasticsearch-analysis-ik: Compilation failure [ERROR] /D:/PersonalProjects/analysis-ik-7.17.11/analysis-ik-7.17.11/src/main/java/org/elasticsearch/index/analysis/IkAnalyzerProvider.java:[13,9] 无法将类 org.elasticsearch.index.analysis.AbstractIndexAnalyzerProviderT中的构造器 AbstractIndexAnalyzerProvider应用到给定类型; [ERROR] 需要: org.elasticsearch.index.IndexSettings,java.lang.String,org.elasticsearch.common.settings.Settings [ERROR] 找到: java.lang.String,org.elasticsearch.common.settings.Settings修改代码报错部分增加indexSetting参数到super入参的第一个位置 使用mvn clean install进行打包注意我们所需的是/target/release目录下的.zip压缩包 3.3 安装ik分词插件 将下载或者编译后的.zip文件解压到es的安装目录下的plugins目录下并重命名为ik 然后启动es查看日志可发现已经加载的ik分词器 常规的最常用的使用方式就是数据插入存储时用 ik_max_word模式分词而检索时用ik_smart模式分词即索引时最大化的将文章内容分词搜索时更精确的搜索到想要的结果。 建立映射示例如下在数据被索引时我们设置analyzer: “ik_max_word”在检索时指定search_analyzer: “ik_smart” 4. 建立es索引 setting.json {aliases: {},settings: {index: {refresh_interval: 3s,number_of_shards: 3,number_of_replicas: 1,max_inner_result_window: 10000,max_result_window: 20000,analysis: {filter: {pinyin_full_filter: {keep_joined_full_pinyin: true,lowercase: true,keep_original: false,keep_first_letter: false,keep_separate_first_letter: false,type: pinyin,keep_none_chinese: false,limit_first_letter_length: 50,keep_full_pinyin: true},pinyin_simple_filter: {keep_joined_full_pinyin: true,lowercase: true,none_chinese_pinyin_tokenize: false,padding_char: ,keep_original: true,keep_first_letter: true,keep_separate_first_letter: false,type: pinyin,keep_full_pinyin: false}},analyzer: {pinyinFullIndexAnalyzer: {filter: [asciifolding,lowercase,pinyin_full_filter],type: custom,tokenizer: ik_max_word},pinyinSimpleIndexAnalyzer: {filter: [pinyin_simple_filter,lowercase],type: custom,tokenizer: ik_max_word},ik_pinyin_analyzer: {filter: [asciifolding,lowercase,pinyin_full_filter,word_delimiter],type: custom,tokenizer: ik_smart},ikIndexAnalyzer: {filter: [asciifolding,lowercase,pinyin_full_filter,word_delimiter],type: custom,tokenizer: ik_max_word}}}}},mappings: {dynamic: false} }mapping.json {properties: {nickName: {type: text,analyzer: ikIndexAnalyzer,search_analyzer: ik_pinyin_analyzer,fields: {full: {type: text,analyzer: pinyinFullIndexAnalyzer},simple: {type: text,analyzer: pinyinSimpleIndexAnalyzer}}}} }mapping.json 文件定义了 Elasticsearch 索引中的字段映射和分析器设置: analyzer定义了在索引时使用的分析器。在搜索时会用这个分析器来处理查询字符串使之与索引中的文本数据匹配。ikIndexAnalyzer 分析器使用了 ik_max_word 分词器tokenizer并应用了一系列过滤器filter包括 ASCII 折叠、小写转换、拼音处理和词分割。 search_analyzer定义了在搜索时使用的分析器。ik_pinyin_analyzer分析器用于处理查询字符串在进行搜索时与索引中的数据进行匹配。 fields定义了为同一个字段创建不同的索引方式。在这个示例中为 nickName 字段创建了两个额外的索引方式full 和 simple。 full使用了 pinyinFullIndexAnalyzer 分析器它将 nickName 字段的文本进行全拼音分析用于支持全拼音搜索。 simple使用了 pinyinSimpleIndexAnalyzer 分析器它将 nickName 字段的文本进行简拼音分析用于支持简拼音搜索。 5.测试检索 新增测试数据 PUT /zzt_works/_doc/2 {nickName:語法講義 } PUT /zzt_works/_doc/3 {nickName:语法讲义 } 中文简写查询 中文繁体查询 拼音全拼查询 拼音简拼查询 6. 繁简转换 如果需求只需要繁简转换可使用以下设置和映射配置 index.json {aliases: {},settings: {index: {refresh_interval: 3s,number_of_shards: 3,number_of_replicas: 1,max_inner_result_window: 10000,max_result_window: 20000,analysis: {filter: {pinyin_full_filter: {keep_joined_full_pinyin: true,lowercase: true,keep_original: false,keep_first_letter: false,keep_separate_first_letter: false,type: pinyin,keep_none_chinese: false,limit_first_letter_length: 50,keep_full_pinyin: true}},analyzer: {ik_pinyin_analyzer: {filter: [asciifolding,lowercase,pinyin_full_filter,word_delimiter],type: custom,tokenizer: ik_smart},ikIndexAnalyzer: {filter: [asciifolding,lowercase,pinyin_full_filter,word_delimiter],type: custom,tokenizer: ik_max_word}}}}},mappings: {dynamic: false} }mapping.json {properties: {nickName: {type: text,analyzer: ikIndexAnalyzer,search_analyzer: ik_pinyin_analyzer}} }
http://www.w-s-a.com/news/882296/

相关文章:

  • 做管理信息的网站com域名查询
  • 免费推广网站推荐外贸推广平台哪个好
  • 腾宁科技做网站399元全包企业校园网站建设
  • 海外医疗兼职网站建设公司取名字大全免费
  • 龙口市规划建设局网站vi设计和品牌设计的区别
  • 企业网站的总体设计网站建设评审验收会议主持词
  • 网站建设完成推广响应式网站设计开发
  • 电商网站用php做的吗网站开发流程可规划为那三个阶段
  • flash网站怎么做音乐停止深圳网站建设金瓷网络
  • 哪个网站可以做房产信息群发怎么做国内网站吗
  • 微商城网站建设公司的价格卖磁铁的网站怎么做的
  • 免费做做网站手机平台软件开发
  • 网站单页做301徐州百度网站快速优化
  • 织梦怎么制作手机网站漳州专业网站建设公司
  • 邓州做网站网络优化概念
  • 查看网站开发phonegap wordpress
  • 网站建设和维护待遇怎样c 做的网站又哪些
  • 淮南网站推广网站开发行业前景
  • 丽水市龙泉市网站建设公司江门手机模板建站
  • 做化妆品注册和注册的网站有哪些wordpress加关键字
  • 四川新站优化php笑话网站源码
  • 外贸类网站酷玛网站建设
  • 合肥网站设计建设南宁网站seo推广优化公司
  • 临沂百度网站7x7x7x7x8黄全场免费
  • 海洋牧场网站建设大良网站设计价格
  • 手机端网站关键字排名北京seo公司哪家好
  • 福建建设培训中心网站网站建站服务公司地址
  • 青岛网站优化快速排名企业网址怎么整
  • 做公司网站用什么系统seo搜索排名优化方法
  • dw怎么做网站标题图标做网站重庆