elastic_tutorial/The Elasticsearch Documentation/4_advanced/3_highlight.es
2025-04-09 09:37:23 +03:30

88 lines
2.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
GET qanonindex-v03/_search
{
"size": 4,
"from": 0,
"_source": [
"ref_key"
],
"query": {
"bool": {
"should": [
{
"match_phrase": {
"content": {
"query": "سبک زندگی اسلامی",
"boost": 10
}
}
},
{
"match": {
"content": "سبک زندگی اسلامی"
}
}
]
}
},
"highlight": {
"fields": {
"content": {}
}
}
}
// highlight --> هایلایت کردن دور متون پیدا شده
// به صورت دیفالت در اول هر متنی که در کوئری پیدا شود یک <em> و در آخرش یک </em> قرار میدهد
// fields -> نشان دهنده فیلد هایی که متن در آنها هایلایت میشود
// در fields فقط میتوان فیلد هایی را مشخص کرد که متن در آنها جستجو شده است
GET /users/_search
{
"query": {
"match_phrase": {
"content": {
"query": "سبک زندگی اسلامی",
"boost": 10
}
}
},
"highlight": {
"pre_tags": [
"<span class='text__orange'>"
],
"post_tags": [
"</span>"
],
"fields": {
"content": {}
},
"fragment_size": 200,
"number_of_fragments": 3
}
}
// pre_tags --> متنی که در اول متنی که باید هایلایت شود میآید
// post_tags --> متنی که بعدش میاید
// number_of_fragments
// میگوید متن هایلیایت شده را به 3 قسمت تقسیم کن که بال هم فاصله دارند
// fragment_size
// میگوید تعدااد حروف هر قسمت 200 تا باشد
GET /users/_search
{
"query": {
"match_phrase": {
"content": "سبک زندگی اسلامی"
}
},
"highlight": {
"require_field_match": false,
"fields": {
"Title": {}
}
}
}
// require_field_match : false
// میگوید متن را در فیلد هایی که در آن ها جستجو نشده است هم هایلایت کند(فقط فیلد های متنی)