gpt4 book ai didi

elasticsearch - Elasticsearch未突出显示所有匹配项

转载 作者:行者123 更新时间:2023-12-03 02:23:59 25 4
gpt4 key购买 nike

我很难理解下面的查询对象为什么不能使ES突出显示_source列中的所有单词。

{
_source: [
'baseline',
'cdrp',
'date',
'description',
'dev_status',
'element',
'event',
'id'
],
track_total_hits: true,
query: {
bool: {
filter: [],
should: [
{
multi_match:{
query: "imposed calcs",
fields: ["cdrp","description","narrative.*","title","cop"]
}
}
]
}
},
highlight: { fields: { '*': {} } },
sort: [],
from: 0,
size: 50
}

通过运行此查询,我得到以下突出显示的对象。请注意,仅突出显示了“calcs”一词。如何构建突出显示对象以使ES突出显示“已施加”?
"highlight": {
"description": [
"GAP Sub-window conn ONe-e: heve PP-BE Defined ASST requirem RV confsng, des MAN Imposed <em>calcs</em> mising"
]
}

我正在使用以下“描述”映射:
"description": {
"type": "text",
"analyzer": "search_synonyms"
},



"analysis": {
"analyzer": {
"search_synonyms": {
"tokenizer": "whitespace",
"filter": [
"graph_synonyms"
],
"normalizer": [
"normalizer_1"
]
}
},
"filter": {
"graph_synonyms": {
"type": "synonym_graph",
"synonyms_path": "synonym.txt"
}
},
"normalizer": {
"normalizer_1": {
"type": "custom",
"char_filter": [],
"filter": ["lowercase", "asciifolding"]
}
}
}

最佳答案

编辑

我认为您的graph_synonyms过滤器覆盖了规范化器的过滤器。试试这个:

PUT highlighter
{
"settings": {
"analysis": {
"analyzer": {
"search_synonyms": {
"tokenizer": "whitespace",
"filter": [
"graph_synonyms",
"lowercase",
"asciifolding"
]
}
},
"filter": {
"graph_synonyms": {
"type": "synonym_graph",
"synonyms_path": "synonym.txt"
}
}
}
},
"mappings": {
"properties": {
"description": {
"type": "text",
"analyzer": "search_synonyms"
}
}
}
}

原版的

我怀疑您的映射中存在某种设置会阻止匹配,因为我无法使用半默认映射来复制它:
PUT highlighter
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase"
]
}
}
}
},
"mappings": {
"properties": {
"description": {
"type": "text",
"fields": {
"lowercase": {
"type": "text",
"analyzer": "my_analyzer"
}
}
}
}
}
}

POST highlighter/_doc
{
"description": "GAP Sub-window conn ONe-e: heve PP-BE Defined ASST requirem RV confsng, des MAN Imposed calcs mising"
}

插入查询
GET highlighter/_search
{
"_source": [
"baseline",
"cdrp",
"date",
"description",
"dev_status",
"element",
"event",
"id"
],
"track_total_hits": true,
"query": {
"bool": {
"filter": [],
"should": [
{
"multi_match": {
"query": "imposed calcs",
"fields": [
"cdrp",
"description.lowercase",
"narrative.*",
"title",
"cop"
]
}
}
]
}
},
"highlight": {
"fields": {
"*": {}
}
},
"sort": [],
"from": 0,
"size": 50
}

屈服
[
{
"_index":"highlighter",
"_type":"_doc",
"_id":"Bf5F5HEBW-D5QnrWwTyh",
"_score":0.5753642,
"_source":{
"description":"GAP Sub-window conn ONe-e: heve PP-BE Defined ASST requirem RV confsng, des MAN Imposed calcs mising"
},
"highlight":{
"description":[
"GAP Sub-window conn ONe-e: heve PP-BE Defined ASST requirem RV confsng, des MAN <em>Imposed</em> <em>calcs</em> mising"
]
}
}
]

关于elasticsearch - Elasticsearch未突出显示所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61609840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com