当前位置:  开发笔记 > 数据库 > 正文

如何在elasticsearch中搜索表情符号/表情符号?

如何解决《如何在elasticsearch中搜索表情符号/表情符号?》经验,为你挑选了1个好方法。

我试图在elasticsearch中搜索包含文本的表情符号/表情符号.早些时候,我在ES中插入了推文.现在我想搜索微笑或悲伤面孔相关的推文.我尝试了以下内容

1)使用相当于微笑的unicode值,但没有用.没有返回任何结果.

GET /myindex/twitter_stream/_search
{
  "query": {
    "match": {
      "text": "\u1f603"
    }
  }
}

如何在elasticsearch中设置表情符号搜索?是的,我必须在输入弹性搜索之前对原始推文进行编码?什么是查询?有经验的方法吗?谢谢.



1> Damien..:

该规范解释了如何搜索的表情符号:

搜索包括在查询中搜索表情符号字符,以及在目标中查找表情符号字符.当它们将注释包含为同义词或提示时,它们最有用.例如,当有人在yelp.com上搜索,时,他们会看到"加油站"的匹配项.相反,在搜索引擎中搜索"气泵"可以找到包含⛽︎的页面.

注释是特定于语言的:在yelp.de上搜索,有人会期望搜索⛽︎以导致"Tankstelle"的匹配.

您可以保留真正的unicode char,并将其扩展为您希望支持的每种语言的注释.

这可以使用同义词过滤器完成.但是Elasticsearch标准tokenizer将删除表情符号,所以还有很多工作要做:

删除表情符号修饰符,清理一切;

通过空格标记;

删除不需要的标点符号;

将表情符号扩展为他们的同义词.

整个过程在这里描述:http://jolicode.com/blog/search-for-emoji-with-elasticsearch(免责声明:我是作者).

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有