У меня есть индекс ElasticSearch с конфигурацией ниже:
{
"my_ind": {
"settings": {
"index": {
"mapping": {
"total_fields": {
"limit": "10000000"
}
},
"number_of_shards": "3",
"provided_name": "my_ind",
"creation_date": "1539773409246",
"analysis": {
"analyzer": {
"default": {
"filter": [
"lowercase"
],
"type": "custom",
"tokenizer": "whitespace"
}
}
},
"number_of_replicas": "1",
"uuid": "3wC7i-E_Q9mSDjnTN2gxrg",
"version": {
"created": "5061299"
}
}
}
}
}
Я хочу выполнить поиск по содержанию ниже с помощью простого поиска:
DL-1234170386456
Это содержимое доступно в поле ниже:
DNumber
В этом поле показано следующее:
{
"DNumber": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
Я пытаюсь реализовать его на языке JAVA.Я столкнулся с анализаторами и токенизаторами ElasticSearch, поэтому использовал токенизатор " whitespace ".
Я пытаюсь выполнить поиск по следующему запросу:
{
"query": {
"multi_match": {
"query": "DL-1234170386456",
"fields": [
"_all"
],
"type": "best_fields",
"operator": "OR",
"analyzer": "default",
"slop": 0,
"prefix_length": 0,
"max_expansions": 50,
"lenient": false,
"zero_terms_query": "NONE",
"boost": 1
}
}
}
Что не такЯ делаю?