我对ElasticSearch生态系统还很陌生,我需要社区的帮助。
我需要知道我从全文搜索中获得的结果是否可以被认为是好的。我看到_score取决于发送的查询,不能用于确定我们的结果是否相关。 在尝试找到解决方法后,我有了一个主意,但它似乎不起作用,我也找不到原因。
我尝试执行一个简单的脚本来计算未伪编成这样的“伪”文档的_score:
{
"script":
{
"source": "_score"
},
"context": "score",
"context_setup":
{
"index": _my_index,
"document":
{
"text": "the cat ate the dog"
},
"query":
{
"bool":
{
"should": [
{
"term":
{
"text": "the"
}
},
{
"term":
{
"text": "cat"
}
},
{
"term":
{
"text": "ate"
}
},
{
"term":
{
"text": "the"
}
},
{
"term":
{
"text": "dog"
}
}]
}
}
}
}
我期望的是最高的“理论”分数。但是,我得到的分数甚至比不完全匹配的索引文档还要小。我以为是因为处理查询时使用的IDF不是我为所有索引文档计算的IDF,但我找不到原因...
非常抱歉,我的英语水平