0
我試着用下面的映射創建索引: createIndexRequestBuilder = client.admin()。indices()。prepareCreate(document.indexName());Elasticseach搜索部分文本
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*"
}
}}
]
}
}
}
沒有問題。但是,如果我嘗試「值」:「2型有沒有結果,因爲‘通配符’是區分大小寫的
有沒有辦法做到在不敏感的情況下,搜索也許通過另一種方式做索引。?。 ..
簡化,我想喜歡實體:
public class Entity{
private Long id;
private String name;
}
,並具有搜索表單,用戶可以輸入「名」的部分文本(大寫或小寫」來進行搜索
提前致謝
我試圖做到這一點configurationg,但仍無法找到結果時,我做的事:「值」:「* 2型*「,它使用:」value「:」* type *「。現在我可以在不敏感的情況下進行搜索,但不能使用兩個單詞(type和2) –
您確定映射已正確應用。索引文件後,檢查映射'GET/some_index/_mapping'。 –
是的,我確定。我檢查過/ hogan/_mapping,還有/ hogan。隨着/ hogan我可以看到differents映射。要創建索引,我已經在答案中使用了代碼:http://stackoverflow.com/a/36745584/6161679 –