当前位置: 首页 > 面试题库 >

Elasticsearch计算忽略空格的术语

伍心水
2023-03-14
问题内容

使用ES 1.2.1

我的聚集

{
    "size": 0,
    "aggs": {
        "cities": {
            "terms": {
                "field": "city","size": 300000
            }
     }
 }

}

问题是某些城市名​​称中包含空格,并分别汇总。

例如洛杉矶

{
    "key": "Los",
    "doc_count": 2230
},
{
    "key": "Angeles",
    "doc_count": 2230
},

我认为这与分析仪有关吗?我将使用哪一个不分割空格?


问题答案:

对于要对其进行聚合的字段,我建议您使用关键字分析器,或者根本不分析该字段。从关键字分析器文档中:

类型为关键字的分析器,可将整个流“标记为”单个标记。这对于诸如邮政编码,ID之类的数据很有用。注意,在使用映射定义时,将字段简单标记为not_analyzed可能更有意义。

但是,如果您仍要对该字段执行分析以包括其他搜索,请考虑使用ES 1.x的字段设置,如field /
multi_field文档中所述
。这将使您拥有一个用于搜索的字段值和一个用于聚合的字段值。



 类似资料:
  • 问题内容: 我在为elasticsearch实现自动完成功能时遇到问题,这是我的设置: 创建自动完成的分析器 然后,使用“别名”属性中的分析器在自动完成中创建一个类型: 之后; 添加文档: 当我运行以下命令时: 结果是 和 但是我应该在“别名”字段中获取我的文档,我有一个“ bs as”。 我尝试使用API,并得到了我认为是预期令牌的正确答案: 结果: 有什么提示吗? 编辑: 当我用实际类型运行分

  • 问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc

  • 问题内容: 什么是运行查询以便忽略字段中的空格的最佳方法?例如,以下查询: 将找到以下条目: 我正在使用php或python,但我认为这没有关系。 问题答案:

  • 读取文件已支持 windows 系统,版本号大于等于 1.3.4.1; 扩展版本大于等于 1.2.7; PECL 安装时将会提示是否开启读取功能,请键入 yes; 测试数据准备 $config = ['path' => './tests']; $excel = new \Vtiful\Kernel\Excel($config); ​ // 写入测试数据 $filePath = $excel->f

  • 问题内容: 我是相当新的elasticsearch,使用6.5版。我的数据库包含网站页面及其内容,如下所示: 我已经能够执行一个简单的查询,该查询返回所有内容中包含“汽车”一词的文档(使用Python): 结果看起来像这样: “ _id”指的是一个域,所以我基本上回来了: abc.com def.com jkl.com 但我现在想知道如何往往是搜索关键词(“汽车”)出现 在 每个文档,如: abc

  • 问题内容: 给定一个文件: 致电时,我获得: 换句话说,这不是正确的排序,它会删除/忽略空格!我希望这是它的行为,但是无论是否带有标志,它都会发生。 我想获得“正确”的排序: 我应该怎么做? 问题答案: 解决者: 从文档中: 警告:环境指定的语言环境会影响排序顺序。设置LC_ALL = C可获得使用本机字节值的传统排序顺序。 (至少适用于ASCII,不适用于UTF8)