我正在使用ElasticSearch 7和FSCrawler为一些PDF编制索引,但是当我搜索某人的全名时,ElasticSearch Highlight将查询结果分为2个摘要,其中一个为名字,另一个为姓氏。
我要搜索的句子是“ Eduardo dos Santos”。
在索引文件中,这句话就像(只是一个片段):
“ [...]Demétriusde Oliveira Moura-matrícula87190; \ n- Edna Martins Sant'Anna-matrícula97489; \ n- Eduardo dos Santos Rocha-matrícula157260; \ n- Elaine Caire-matrícula96482; \ n- Elaine Souza da Costa-matrícula162469; \ n- Emerson Eduardo Viana de Jesus-matrícula173819; \ n-[...]“
我的查询:
{
"query":{
"match_phrase":{
"content":"eduardo dos santos"
}
},
"highlight":{
"fields":{
"content":{}
},
"number_of_fragments":10,
"fragment_size":250,
"order":"score"
},
"_source":[""]
}
结果:
{
"took":3,
"timed_out":false,
"_shards":{
"total":1,
"successful":1,
"skipped":0,
"failed":0
},
"hits":{
"total":{
"value":1,
"relation":"eq"
},
"max_score":0.86411154,
"hits":[
"_index":"dejt_admin",
"_type":"_doc",
"_id":"6f63ce8477ab7564a4255377415cd96",
"_score":0.86411154,
"_source":{},
"highlight":{
"content":[
"<em>dos</em> <em>Santos</em> Rocha - matrícula 157260;\n- Elaine Caire - matrícula 96482;\n- Elaine Souza da Costa - matrícula 162469; \n- Emerson Eduardo Viana de Jesus - matrícula 173819; \n- Erick William de Souza Andrade – matrícula 128414; \n- Fabiana Docampo Ferrari",
"- Daniela Ferrari Kovacs - matrícula 97330;\n- Débora Cristina Keila Reis Rodrigues de Carvalho - matrícula 89435;\n- Débora Tomaz Kovo - matrícula 166022;\n- Demétrius de Oliveira Moura - matrícula 87190; \n- Edna Martins Sant'Anna - matrícula 97489;\n- <em>Eduardo</em>"
]
}
}
]
}
}
因此,“ dos Santos”出现在第一个片段中,“ Eduardo”出现在第二个片段中。
预期结果是第一个代码段中的完整句子。
我尝试更改令牌生成器和查询,但结果相同。
有人知道我可以如何改善它吗?
谢谢!