Мы хотим использовать ElasticSearch для поиска похожих объектов.
Допустим, у меня есть объект с 4 полями: имя_продукта, имя_продавца, телефон_продавца, идентификатор_платформы.
Похожие продукты могут иметь разные названия продуктов и названия продавцов на разных платформах (нечеткое совпадение).
В то время как телефон является строгим, и одно изменение может привести к неправильной записи (строгое совпадение).
То, что пытались создать, - это запрос, который будет:
- Примите во внимание все поля, которые у нас есть для текущей записи, и ИЛИ между ними.
- Mandate platform_id — это то, на что я хочу обратить особое внимание. (А ТАКЖЕ)
- Нечеткое имя продукта и имя продавца
- Строго совпадайте с номером телефона или игнорируйте его в ИЛИ между полями.
Если бы я написал это в псевдокоде, я бы написал что-то вроде:
((product_name как 'some_product_name') ИЛИ (seller_name как 'some_seller_name') ИЛИ (seller_phone = 'some_phone')) И (platform_id = 123)