微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

弹性搜索同义词-删除操作

如何解决弹性搜索同义词-删除操作

在创建/更新项目时,弹性搜索(版本6.2.3)中的同义词是否存储在项目中?还是在每个搜索查询中将同义词应用于索引?

我们需要删除具有600万项的索引的同义词,但我看不到文档中从索引中删除这些同义词是否足够

DELETE /api/as/v1/engines/{ENGINE_NAME}/synonyms/{SYNONYM_SET_ID}

或者之后需要重新索引所有项目,在这种情况下,最好删除当前索引并创建一个新索引。

解决方法

  1. 如果在插入文档期间应用了同义词

    • 删除当前同义词,不会更改索引的现有数据中的任何内容,现有数据应可通过同义词进行搜索。
  2. 如果在查询期间应用了同义词

    • 在这种情况下,删除同义词将停止使用同义词搜索文档。

现在的问题是您要使用索引时间分析还是查询时间分析。您可以签入映射。例如

"mappings": {
    "properties": {
      "text": {
        "type": "text","analyzer": "autocomplete",// <======== For index time analysis
        "search_analyzer": "synonym_analyzer" //<====== For Query time analysis  
      }
    }
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。