Вам нужно удалить пробел из названия вашего продукта и проиндексировать его, а затем вы можете запросить это слово.
Пожалуйста, смотрите параметр Индекс для удаления пробела: {
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"char_filter": [
"replace_whitespace"
]
}
},
"char_filter": {
"replace_whitespace": {
"type": "mapping",
"mappings": [
"\\u0020=>"
]
}
}
}
}
}
После этого вы можете использовать ES анализ API для подтверждения его генерирующего токена, который будет соответствовать вашим токенам поискового запроса.
POST _analyze
{
"text": "Water wipes",
"analyzer" : "my_analyzer"
}
{
"tokens": [
{
"token": "Waterwipes", --> Notice whitespace is removed
"start_offset": 0,
"end_offset": 7,
"type": "<ALPHANUM>",
"position": 0
}
]
}
Предложения : Вы должны сохранить эти токены, удаленные из пробелов, в другом поле title
, например titlewospaces
, и применить к нему выше собственный анализатор и выполнить поиск в обоих полях, чтобы получить лучшие результаты. Кроме того, вы должны проверить Объяснить API , чтобы увидеть, какие токены генерирует ваш запрос и как он соответствует индексированным токенам.