Elastic, настроить корректный поиск и ранжирование объявлений
10 000 руб. за проект
На сайте объявлений использутся Elastic в качестве поискового движка.
Но сейчас выдача часто абсолютно некорректная, ранжирование также неудовлетворительное. В топе неподходящие абсолютно товары, много повторяющихся компаний и тд
Необходимо написать правильные параметры для запроса в эластик, сказать как исправить, если нужно, mapping
Конфиг
"index.blocks.read_only_allow_delete": "false",
"index.priority": "1",
"index.query.default_field": [
"*"
],
"index.refresh_interval": "1s",
"index.write.wait_for_active_shards": "1",
"index.analysis.filter.en_US.type": "hunspell",
"index.analysis.filter.en_US.language": "en_US",
"index.analysis.filter.ru_RU.type": "hunspell",
"index.analysis.filter.ru_RU.language": "ru_RU",
"index.analysis.analyzer.default.filter": [
"lowercase",
"ru_RU",
"en_US"
],
"index.analysis.analyzer.default.char_filter": [
"html_strip"
],
"index.analysis.analyzer.default.tokenizer": "standard",
"index.number_of_replicas": "1"
Запрос, который уходит в эластик
"body": {
"query": {
"bool": {
"filter": [
{
"terms": {
"city_id": [
"704"
]
}
}
],
"must": [
{
"multi_match": {
"query": "баня под ключ",
"fields": [
"name^3",
"description"
],
"type": "best_fields",
"tie_breaker": 1
}
}
]
}
},
"aggs": {
"users": {
"terms": {
"field": "user_id",
"size": 10,
"order": {
"max_score": "desc"
}
},
"aggs": {
"max_score": {
"max": {
"script": "_score"
}
}
}
},
"categories": {
"terms": {
"field": "category_id",
"size": 10,
"order": {
"max_score": "desc"
}
},
"aggs": {
"max_score": {
"max": {
"script": "_score"
}
}
}
},
"cities": {
"terms": {
"field": "city_id",
"size": 10
}
}
},
"_source": [
"product_id"
],
"rescore": {
"window_size": 30,
"query": {
"score_mode": "total",
"rescore_query": {
"function_score": {
"script_score": {
"script": {
"source": "if(doc['order_num'].size()!=0) {doc['order_num'].value+_score} else {_score}"
}
}
}
}
}
Но сейчас выдача часто абсолютно некорректная, ранжирование также неудовлетворительное. В топе неподходящие абсолютно товары, много повторяющихся компаний и тд
Необходимо написать правильные параметры для запроса в эластик, сказать как исправить, если нужно, mapping
Конфиг
"index.blocks.read_only_allow_delete": "false",
"index.priority": "1",
"index.query.default_field": [
"*"
],
"index.refresh_interval": "1s",
"index.write.wait_for_active_shards": "1",
"index.analysis.filter.en_US.type": "hunspell",
"index.analysis.filter.en_US.language": "en_US",
"index.analysis.filter.ru_RU.type": "hunspell",
"index.analysis.filter.ru_RU.language": "ru_RU",
"index.analysis.analyzer.default.filter": [
"lowercase",
"ru_RU",
"en_US"
],
"index.analysis.analyzer.default.char_filter": [
"html_strip"
],
"index.analysis.analyzer.default.tokenizer": "standard",
"index.number_of_replicas": "1"
Запрос, который уходит в эластик
"body": {
"query": {
"bool": {
"filter": [
{
"terms": {
"city_id": [
"704"
]
}
}
],
"must": [
{
"multi_match": {
"query": "баня под ключ",
"fields": [
"name^3",
"description"
],
"type": "best_fields",
"tie_breaker": 1
}
}
]
}
},
"aggs": {
"users": {
"terms": {
"field": "user_id",
"size": 10,
"order": {
"max_score": "desc"
}
},
"aggs": {
"max_score": {
"max": {
"script": "_score"
}
}
}
},
"categories": {
"terms": {
"field": "category_id",
"size": 10,
"order": {
"max_score": "desc"
}
},
"aggs": {
"max_score": {
"max": {
"script": "_score"
}
}
}
},
"cities": {
"terms": {
"field": "city_id",
"size": 10
}
}
},
"_source": [
"product_id"
],
"rescore": {
"window_size": 30,
"query": {
"score_mode": "total",
"rescore_query": {
"function_score": {
"script_score": {
"script": {
"source": "if(doc['order_num'].size()!=0) {doc['order_num'].value+_score} else {_score}"
}
}
}
}
}
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.