Я пытаюсь создать индекс со следующим отображением: createIndexRequestBuilder = client.admin(). Index(). 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 * ". Теперь я могу искать в нечувствительном случае, но не используя два слова (тип и 2) –
Вы уверены, что отображение было применено правильно. После индексирования документов проверьте отображение GET/some_index/_mapping. –
Да, я уверен. Я проверил с/hogan/_mapping, а также с/hogan. С/hogan я вижу разностные отображения. Чтобы создать индекс, я использовал код в ответе: http://stackoverflow.com/a/36745584/6161679 –