- 我们创建了一个具有以下设置和映射的索引。
PUT http://localhost:9200/essearch
{
"mappings": {
"object": {
"_all": {
"enabled": false
},
"properties": {
"content": {
"type": "text",
"term_vector": "with_positions_offsets",
"similarity": "classic",
"analyzer": "content_standard"
},
"content_phonic": {
"type": "text",
"term_vector": "with_positions_offsets",
"similarity": "classic",
"analyzer": "content_phonetic"
},
"content_stemming": {
"type": "text",
"term_vector": "with_positions_offsets",
"similarity": "classic",
"analyzer": "content_stemming"
}
}
}
},
"settings": {
"index": {
"number_of_shards": "1",
"similarity": {
"default": {
"type": "classic"
}
},
"max_result_window": "50000",
"mapper": {
"dynamic": "false"
},
"analysis": {
"filter": {
"content_phonetic": {
"type": "phonetic",
"encoder": "doublemetaphone"
},
"StopWords": {
"type": "stop",
"stopwords": [
"after",
"all",
"under",
"very",
"well"]
}
},
"analyzer": {
"content_phonetic": {
"filter": [
"content_phonetic"
],
"char_filter": [
"CharFilters"
],
"type": "custom",
"tokenizer": "standard"
},
"content_stemming": {
"filter": [
"lowercase",
"porter_stem"
],
"char_filter": [
"CharFilters"
],
"type": "custom",
"tokenizer": "standard"
},
"content_standard": {
"filter": [
"lowercase",
"StopWords"
],
"char_filter": [
"CharFilters"
],
"type": "custom",
"tokenizer": "standard"
}
},
"char_filter": {
"CharFilters": {
"type": "mapping",
"mappings": [
". => ' '",
"' => ' '",
"_ => ' '",
": => ' '"
]
}
}
},
"number_of_replicas": "0"
}
}}
Run Code Online (Sandbox Code Playgroud)
2:索引文档
http://localhost:9200/essearch/object/1
{ "content" : "beginning thirty days after the anticipated COD.
Buyer shall be responsible for all natural gas and electrical imbalance charges.
All prices shall be at the Reference Conditions.
Buyer’s performance of its obligations under the ECSA with a form of guarantee in an amount. Seller shall assign its rights under said requests to Buyer. Buyer shall have full dispatch rights subject to operational parameters (including ramp rates. buyer said to me..." }
Run Code Online (Sandbox Code Playgroud)
3:执行Highlight查询
http://localhost:9200/essearch/_search
{
"highlight": {
"pre_tags": [ "<term0 style='background-color:Lime'>", "<term1 style='background-color:Chocolate'>", "<term2 style='background-color:Pink'>"
],"post_tags": [ "</term0>", "</term1>", "</term2>" ],
"encoder": "html",
"fields": { "content": { "fragment_size": 50, "number_of_fragments": 0, "type": "fvh" } } },
"_source": false,
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "(\"under said\") OR (said) OR (buyer)",
"default_field": "content"}} ],
"filter": [
{
"ids": {
"values": [ "1" ] } } ] } } }
Run Code Online (Sandbox Code Playgroud)
4:突出显示查询输出
{
"took": 0,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.30490398,
"hits": [
{
"_index": "essearch",
"_type": "object",
"_id": "1",
"_score": 0.30490398,
"highlight": {
"content": [
"beginning thirty days after the anticipated COD.
<term1 style='background-color:Chocolate'>Buyer</term1>
shall be responsible for all natural gas and electrical imbalance charges.
All prices shall be at the Reference Conditions.Buyer’s performance of its obligations under the ECSA with a form of guarantee in an amount. Seller shall assign its rights under <term0 style='background-color:Lime'>said</term0> requests to <term1 style='background-color:Chocolate'>Buyer</term1>. <term1 style='background-color:Chocolate'>Buyer</term1> shall have full dispatch rights subject to operational parameters (including ramp rates. <term1 style='background-color:Chocolate'>buyer</term1> <term0 style='background-color:Lime'>said</term0> to me..."
] } } ] } }
Run Code Online (Sandbox Code Playgroud)
如果您看到我们根据提供的查询词的数量应用了 pre,post 标签。这里我们有 3 个带有 OR 运算符的术语,因此总共提供了三个 pre,post 标签。执行高亮查询后,它应该按照序列将term1标签应用于“said”术语,但 ES 将term0标签应用于“said”术语,而对于“买家”,其应用term1标签。
| 归档时间: |
|
| 查看次数: |
741 次 |
| 最近记录: |