We have 4 products with the name:
1.Смартфон SAMSUNG Galaxy S20 черный
2.Смартфон SAMSUNG Galaxy S20 серый
3.Смартфон SAMSUNG Galaxy S20 красный
4.Смартфон SAMSUNG Galaxy S20 серый космос
• we have a synonym "черный => серый космос"
upon request SELECT * FROM products WHERE search_products = '@name +samsung +galaxy' I get all 4 items.
upon request SELECT * FROM products WHERE search_products = '@name +samsung +galaxy +серый' I get 2 items:
2.Смартфон SAMSUNG Galaxy S20 серый
4.Смартфон SAMSUNG Galaxy S20 серый космос
upon request SELECT * FROM products WHERE search_products = '@name +samsung +galaxy +серый +космос' I get item:
4.Смартфон SAMSUNG Galaxy S20 серый космос
But if I add word required "черный", there will be errors:
SELECT * COUNT() FROM products WHERE search_products ='@name +samsung +galaxy +черный'
I expect to get two products, but I get three:
4."Смартфон SAMSUNG Galaxy S20 серый космос"
1."Смартфон SAMSUNG Galaxy S20 черный"
and excess product 2. "Смартфон SAMSUNG Galaxy S20 серый"
Requests
SELECT COUNT() FROM products WHERE search_products ='@name +samsung +galaxy +черный +космос'
And
SELECT COUNT() FROM products WHERE search_products ='@name +samsung +galaxy +черный +серый'
got 2 products
4.Смартфон SAMSUNG Galaxy S20 серый космос
2.Смартфон SAMSUNG Galaxy S20 серый
SELECT , COUNT() FROM products WHERE search_products = '@name +samsung +galaxy +черный +something +not +in +the +title'
I expect a blank search, but got 1 product:
2.Смартфон SAMSUNG Galaxy S20 серый
SELECT , COUNT() FROM products WHERE search_products = '@name +samsung +galaxy +черный +черный +черный +черный +черный +something +not +in +the +title'
I expect a blank search, but got the same product 5 times:
2.Смартфон SAMSUNG Galaxy S20 серый
2.Смартфон SAMSUNG Galaxy S20 серый
2.Смартфон SAMSUNG Galaxy S20 серый
2.Смартфон SAMSUNG Galaxy S20 серый
2.Смартфон SAMSUNG Galaxy S20 серый
type Product struct {
Id string reindex:"id,,pk" json:"id"
Name string reindex:"name,tree" json:"name"
Brand string reindex:"brand,tree" json:"brand"
_ struct{} reindex:"name+brand=search_products,text,composite"
}
We have 4 products with the name: 1.Смартфон SAMSUNG Galaxy S20 черный 2.Смартфон SAMSUNG Galaxy S20 серый 3.Смартфон SAMSUNG Galaxy S20 красный 4.Смартфон SAMSUNG Galaxy S20 серый космос • we have a synonym "черный => серый космос"
upon request SELECT * FROM products WHERE search_products = '@name +samsung +galaxy' I get all 4 items.
upon request SELECT * FROM products WHERE search_products = '@name +samsung +galaxy +серый' I get 2 items: 2.Смартфон SAMSUNG Galaxy S20 серый 4.Смартфон SAMSUNG Galaxy S20 серый космос
upon request SELECT * FROM products WHERE search_products = '@name +samsung +galaxy +серый +космос' I get item: 4.Смартфон SAMSUNG Galaxy S20 серый космос
But if I add word required "черный", there will be errors: SELECT * COUNT() FROM products WHERE search_products ='@name +samsung +galaxy +черный' I expect to get two products, but I get three: 4."Смартфон SAMSUNG Galaxy S20 серый космос" 1."Смартфон SAMSUNG Galaxy S20 черный" and excess product 2. "Смартфон SAMSUNG Galaxy S20 серый"
Requests SELECT COUNT() FROM products WHERE search_products ='@name +samsung +galaxy +черный +космос' And SELECT COUNT() FROM products WHERE search_products ='@name +samsung +galaxy +черный +серый' got 2 products 4.Смартфон SAMSUNG Galaxy S20 серый космос 2.Смартфон SAMSUNG Galaxy S20 серый
SELECT , COUNT() FROM products WHERE search_products = '@name +samsung +galaxy +черный +something +not +in +the +title' I expect a blank search, but got 1 product: 2.Смартфон SAMSUNG Galaxy S20 серый
SELECT , COUNT() FROM products WHERE search_products = '@name +samsung +galaxy +черный +черный +черный +черный +черный +something +not +in +the +title' I expect a blank search, but got the same product 5 times: 2.Смартфон SAMSUNG Galaxy S20 серый 2.Смартфон SAMSUNG Galaxy S20 серый 2.Смартфон SAMSUNG Galaxy S20 серый 2.Смартфон SAMSUNG Galaxy S20 серый 2.Смартфон SAMSUNG Galaxy S20 серый
type Product struct { Id string reindex:"id,,pk" json:"id" Name string reindex:"name,tree" json:"name" Brand string reindex:"brand,tree" json:"brand" _ struct{} reindex:"name+brand=search_products,text,composite" }
products := []Product{ { Id: "1", Name: "Смартфон SAMSUNG Galaxy S20 черный", Brand: "SAMSUNG", }, { Id: "2", Name: "Смартфон SAMSUNG Galaxy S20 серый", Brand: "SAMSUNG", }, { Id: "3", Name: "Смартфон SAMSUNG Galaxy S20 красный", Brand: "SAMSUNG", }, { Id: "4", Name: "Смартфон SAMSUNG Galaxy S20 серый космос", Brand: "SAMSUNG'", }, }}, }