Добрый день, хочу искать по запросу так, чтобы поиск был только в документах с подходящими названиями. Использую HTTP API, но что-то не соображу как надо сделать. Подскажите, пожалуйста
Вот то что я составляю:
"query": {
"bool": {
"must": [{
"query_string": "Запрос"
}, {
"in": {
"title": ["Список", "названий", "документов"]
}
}]
}
}
tomat
October 4, 2023, 8:05am
2
если title
- это полнотекстовое поле, то вам нужно использовать match обект, как описано в нашей документации Basic_usage
Т.е. будет просто match вместо in? match же не принимает список, или я некорректно понимаю?
tomat
October 4, 2023, 8:13am
4
вы ему строчку передаете с keywords разделенными пробелами и там же ниже описано как комбинируются keywords
А если название состоит из нескольких слов? Надо упаковать в кавычки внутри строки? Например,
{"match": {
"title": {
"query": " 'Длинное название' название название ",
"operator": "or"
}
}}
Sergey
October 9, 2023, 4:41pm
6
Для оператора фразового поиска через HTTP JSON API применяется Manticore Search Manual: Searching > Full text matching > Basic usage вместо match.