我正在使用elasticsearch来查找类似的文档。以下是我正在使用的查询:
{
"query": {
"more_like_this":{
"like": {
"_index": "docs",
"_type": "pdfs",
"_id": "pdf_1"
},
"min_term_freq": 1,
"min_doc_freq": 1,
"max_query_terms: 50,
"minimum_should_match": "50%"
}
}
}
我从PDF中提取文本并存储在我的索引“docs”中。以下是“pdfs”类型的映射:
{
"properties": {
"content":{
"type": "string",
"analyzer": "my_analyzer"
}
}
}
在结果集中,我得到了类似的文档及其分数。根据我到目前为止所读到的内容,无法根据分数计算百分比相似度,因此我并不是想这样做。我想弄清楚是否有可能知道:
“来自源文档的50个查询字词中有多少个字词 在文件中匹配?或匹配的术语百分比?“
正如您所看到的那样,在我的查询中,我将minimum_should_match指定为50%,因此我假设elasticsearch正在根据文档中匹配的术语百分比来过滤某些文档。我想得到这个百分比。我对弹性搜索很新。到目前为止,我已经完成了文档,但无法找到如何做到这一点。 任何指针/帮助表示赞赏!