По-долу са примерните данни в elasticsearch
PUT /data/test/1
{
"id": "Accounting 101",
"room": "E3",
"professor": {
"name": "Thomas Baszo",
"email": "[email protected]"
},
"students_enrolled": 27,
"course_description": " financial statements"
}
PUT /data/test/2
{
"name": "Accounting 101",
"room": "E3",
"professor": {
"name": "Sachin Baszo",
"email": "[email protected]"
},
"students_enrolled": 27,
"course_description": "Thomas Thomas Thomas Thomas "
}
По-долу е заявката
GET /_search
{
"query": {
"query_string": {
"query": "(*Thomas*)"
}
}
}
Моят резултат ще покаже втори документ като първи, тъй като съдържа Томас 4 пъти в описанието
- Трябва да дам по-голяма тежест на
professor.name
трябва да покаже първо проверка, ако не, след това проверете professor.email, след това проверете други атрибути
Python
es.search(index="data", body={"query": {"query_string": {"query": "(*Thomas*)"}}})