zoukankan      html  css  js  c++  java
  • 定制分化词,同义词

    定制分化词步骤:

    config目录下新增new_word.dic 加入凯悦,修改IKAnalyzer.cfg.xml,加入new_word.dic
    copy到其他两个节点
    重启es
    GET _analyze?pretty
    {
    "analyzer": "ik_max_word",
    "text":"xx"
    } G
    ET _analyze?pretty
    {
    "analyzer": "ik_smart",
    "text":"xx"

    (此处可以发现xx会被分析为一个单独的词汇)


    扩展:若需要不重启es动态更新则可将自定义辞典放到http服务器上,例如
    <entry key="ext_dict">http://yoursite.com/getCustomDict</entry>
    http 请求需要返回两个头部(header),一个是 Last-Modified,一个是 ETag,这两者都是字符串类型,只要有一个发生变化,该插件就会去抓取
    的分词进而更新词库。
    http 请求返回的内容格式是一行一个分词,换行符用
    即可。
    满足上面两点要求就可以实现热更新分词了,不需要重启 ES 实例。
    ik每隔一分钟去检测



    同义词:

    对于苹果 和 手机可以人为理解为一个东西:

    /opt/elasticsearch-7.6.1/config/analysis-ik 插件目录下创建同义词文本 synomyms.txt(苹果手机),重新建立索引结构表(原有的索引需要删除),进行重新导入数据索引同义词效果就生效了,完整语句下次补上,kibana不知道为什么隔了一天历史记录不见了

    重塑相关性

    相关性搜索

    让搜索引擎理解语义

    影响召回以及语义

    通过bool的should里面嵌套 词汇和id进行绑定达到id=2(酒店的东西或者包含住宿的条目都给返回)

     召回策略和排序策略一般不会同时使用。因为你召回指定了所有的酒店,在function中再去过滤排序酒店也就无意义了。一般是排序策略做法没结果就使用召回策略尽量提高召回的覆盖面,争取搜索到尽量多答案

  • 相关阅读:
    java经典面试题
    用OpenSSL把二进制的Cer证书转换程Base64格式的PEM格式的证书
    JVM中java实例对象在内存中的布局
    高级加密标准(英语:Advanced Encryption Standard,缩写:AES)
    中断和中断处理程序
    CS 寄存器 和 IP 寄存器
    Gson通过借助TypeToken获取泛型参数的类型的方法
    Tomcat 的 JDBC 连接池
    Google Guava官方教程(中文版)
    阿里DRUID数据源
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/12701751.html
Copyright © 2011-2022 走看看