gpt4 book ai didi

elasticsearch - 在ElasticSearch中使用像这样(mlt)时应用分析器

转载 作者:行者123 更新时间:2023-12-02 23:30:34 24 4
gpt4 key购买 nike

我想在ElasticSearch中修改More Like This查询的默认分析器,以忽略停用词(最好不定义停用词)。为了尝试这一点,我使用explain功能构造了一个查询,我希望是stop analyzer(Stop),如下所示:

{"search":{"size":1, "fields":["our_id"],"explain":true,"query":{
"mlt":{"analyzer": "Stop", "docs":[{"_id":"99999999"}],
"fields":["text_for_matching"]}} }}

但是,MLT似乎没有解析我的分析器(因为我可以使用自己喜欢的任何东西,并且没有错误或更改),因此,我看到根据 explain"description": "weight(text_for_matching:the in 4961) [PerFieldSimilarity], result of:", "value": 0.013,,相似度计算中仍包含停用词

如何使用分析仪正确设置MLT参数,然后它会忽略搜索中的停用词?还是我需要更改初始索引才能获得所需的行为?

谢谢你的帮助。

最佳答案

为此,您需要将like选项与per_field_analyzer结合使用:

{
"size": 1,
"fields": [
"our_id"
],
"explain": true,
"query": {
"mlt": {
"like": [
{
"_type": "test",
"_id": 99999999,
"per_field_analyzer": {
"text_for_matching": "stop"
}
}
],
"fields": [
"text_for_matching"
]
}
}
}

关于elasticsearch - 在ElasticSearch中使用像这样(mlt)时应用分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36891005/

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