spring-data-elasticsearch - Spring Data ElasticSearch - 多次索引单个字段
问题描述
我想使用不同的分析器(ngram 和标准)多次索引单个字段(名称),以便我可以使用部分单词或完整单词进行搜索。但我找不到 Spring Data ElasticSearch 对此的支持。既然@Field
注解不能重复,那么如何使用 Spring Data 来实现呢?
解决方案
import org.springframework.data.elasticsearch.annotations.InnerField;
import org.springframework.data.elasticsearch.annotations.MultiField;
@MultiField(
mainField = @Field(type = FieldType.String),
otherFields = {
@InnerField(index = FieldIndex.not_analyzed, suffix = "<suffix name>", type =FieldType.String)
}
)
private String <fieldname>;
这样您可以使用不同的分析器多次存储相同的字段,请记住使用有意义的后缀名称来搜索该字段
欲了解更多信息,请参阅以下链接:
推荐阅读
- javascript - 通过 OnClick 功能过滤帖子
- python - 我想用 csv 模块替换熊猫
- powershell - 如何获取服务器列表以及该应用程序的相应应用程序和版本以正确导出到 Excel 中?
- python - 总数 scikit-learn 中的迭代次数达到极限
- azure - Azure 函数中的 Azure 广告集成与招摇
- javascript - 即使在回调中定义变量后,变量也未定义
- python - 如何使用不同的模块导入运行相同的 python 脚本?
- domain-driven-design - 聚合不变量
- c++ - 使用 Bisonc++ 跳过 Parser::lex() 方法预定义
- python - 根据索引位置将多行插入数据框中