我在做一个西班牙语搜索引擎(我不会说西班牙语),但根据我的研究,目标大致是这样的:1。过滤像“dos”,“de”,“la”这样的停止词。。。2为搜索和索引而干掉单词。e、 如果你搜索“primera”,那么“primero”,“primer”也应该出现。
我的尝试:
es_analyzer={
"settings": {
"analysis": {
"filter": {
"spanish_stop": {
"type": "stop",
"stopwords": "_spanish_"
},
"spanish_stemmer": {
"type": "stemmer",
"language": "spanish"
}
},
"analyzer": {
"default_search": {
"type": "spanish"
},
"rebuilt_spanish": {
"tokenizer": "standard",
"filter": [
"lowercase",
"spanish_stop",
"spanish_stemmer"
]
}
}
}
}
}
问题是:当我使用 "type":"spanish"
在 "default_search"
,我的查询“primera”的词干是“primer”,这是正确的,但即使我指定使用 "spanish_stemmer"
在过滤器中,索引中的文档没有词干。因此,当我搜索“primera”时,它只显示“primera”的精确匹配。有什么建议吗?
可能的修复方法,但我还没有弄清楚语法:
使用内置 "spanish"
过滤器中的分析仪。语法是什么?
在中添加西班牙语词干分析器和stopwords "default_search"
. 但我不知道如何使用复合设置。
1条答案
按热度按时间icnyk63a1#
添加索引数据、Map、搜索查询和搜索结果的工作示例
索引Map:
索引数据:
搜索查询:
搜索结果: