gpt4 book ai didi

elasticsearch - Elasticsearch 不区分大小写

转载 作者:行者123 更新时间:2023-12-04 03:45:50 30 4
gpt4 key购买 nike

我有以下基于注释的 Elasticsearch 配置,我已将索引设置为不被分析,因为我不希望这些字段被标记化:

    @Document(indexName = "abc", type = "efg")
public class ResourceElasticSearch {
@Id
private String id;
@Field(type = FieldType.String, index = FieldIndex.not_analyzed)
private String name;
@Field(type = FieldType.String, store = true)
private List<String> tags = new ArrayList<>();
@Field(type = FieldType.String)
private String clientId;
@Field(type = FieldType.String, index = FieldIndex.not_analyzed)
private String virtualPath;
@Field(type = FieldType.Date)
private Date lastModifiedTime;
@Field(type = FieldType.Date)
private Date lastQueryTime;
@Field(type = FieldType.String)
private String modificationId;
@Field(type = FieldType.String)
private String realPath;
@Field(type = FieldType.String)
private String extension;
@Field(type = FieldType.String)
private ResourceType type;

是否可以通过使用注解使名称、虚拟路径和标签的搜索不区分大小写?搜索看起来像这样,需要通过通配符搜索:

private QueryBuilder getQueryBuilderForSearch(SearchCriteria criteria) {
String virtualPath = criteria.getPath();

return boolQuery()
.must(wildcardQuery("virtualPath", virtualPath))
.must(wildcardQuery("name", criteria.getName()));
}

最佳答案

你想做的事情真的不可能,这与 Spring Data 配置无关,而是与 Elasticsearch 本身有关:你将数据索引为 not_analyzed 并且它会保持这种状态。

此外,如果您想要不区分大小写的数据,我建议使用 keyword analyzer 建立索引结合 lowercase token filter .

关于elasticsearch - Elasticsearch 不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36572860/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com