Elastic Search 新手笔记(2)—— 日期格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elastic Search 新手笔记(2)—— 日期格式相关的知识,希望对你有一定的参考价值。

参考技术A 前一阵子,做了elasticsearc相关的工作,遇到了日期格式的问题,苦于当时找了好久,所以在这里记录一下。

首先在这里贴出官方的讲解,官网永远是最好的老师。
Elasticsearch 官网日期格式
官网是英语的,很多人看着头大,那么可以直接看下面的表格。
👇👇👇👇👇👇👇👇

本文可以用于大家以后参考使用,我参考的书籍是《从Lucene到Elasticsearch全文检索实战》

Spring Elastic Search 自定义字段名称

【中文标题】Spring Elastic Search 自定义字段名称【英文标题】:Spring Elastic Search Custom Field names 【发布时间】:2016-02-05 20:31:16 【问题描述】:

我是 Elastic Search 的新手,我正在尝试使用 Spring-data-elasticsearch 来实现它。

我们的弹性搜索文档中有名称为“Transportation”、“Telephone_Number”等名称的字段。

当我尝试将我的 @Domain 对象字段与这些字段映射时,我没有获得任何数据,因为我无法成功映射这些字段。

尝试使用@Field,很失望,因为它没有'name'属性来映射自定义字段名称。

尝试了 GETTER 函数的不同变体,但似乎都没有映射到这些字段。

我开始怀疑这里是否缺少一些东西。 域对象字段应该如何映射到名为“Transportation”之类的字段?

任何帮助表示赞赏

【问题讨论】:

【参考方案1】:

您可以使用自定义名称。 Spring Data ES 使用 Jackson。因此,您可以使用@JsonProperty("your_custom_name") 在 ES Mapping 中启用自定义名称

例如:

@Document(indexName = "your_index_name", type = "your_type_name")
public class YourEntity 
   ....
   @JsonProperty("my_transportation")
   @Field(type = FieldType.String, searchAnalyzer = "standard", indexAnalyzer = "standard", store = true) // just for example
   private String myTransportation;
   ....

注意:无论如何我很抱歉,我的英语很糟糕..:D

【讨论】:

使用@JsonProperty 在保存中效果很好,但在查询中无效。 Unable to generate custom queries for entity fields with underscores 只要@JsonProperty 的值与 POJO 中的字段名称不同,Repository 查询就不起作用...:/ @insan-e 那么Json名称中出现下划线怎么办?

以上是关于Elastic Search 新手笔记(2)—— 日期格式的主要内容,如果未能解决你的问题,请参考以下文章

Elastic Search(ES)使用笔记

小白笔记Elastic Search以及可视化Head Kibana安装

Elastic Search-如何使用AND查询一对多表联接

Spring Elastic Search 自定义字段名称

数据库中同步数据到elastic search的方案比较

elastic search使用总结