【发布时间】:2016-04-20 18:50:26
【问题描述】:
我正在尝试使用以下映射创建索引: createIndexRequestBuilder = client.admin().indices().prepareCreate(document.indexName());
XContentBuilder mappingBuilder = jsonBuilder()
.startObject()
.startObject("my_type")
.startObject("properties")
.startObject("nombre")
.field("type", "string")
.field("index", "not_analyzed")
.endObject()
.startObject("codigo")
.field("type", "string")
.field("index", "not_analyzed")
.endObject()
.endObject()
.endObject()
.endObject();
createIndexRequestBuilder.addMapping("my_type", mappingBuilder);
然后,如果我尝试以下搜索:
GET /hogan/tipos-documento/_search?pretty
{
"query": {
"bool": {
"must": [
{"wildcard": {
"nombre": {
"value": "*Type 2*"
}
}}
]
}
}
}
没有问题。但是如果我尝试 "value" : "type 2 没有结果,因为 "wildcard" 区分大小写。
有什么方法可以搜索不敏感的案例吗?也许通过以另一种方式进行索引...
简化,我想要这样的实体:
public class Entity{
private Long id;
private String name;
}
并且有一个搜索表单,用户可以输入“姓名”的部分文本(大写或小写)进行搜索
提前致谢
【问题讨论】:
标签: java elasticsearch