【发布时间】:2019-05-06 11:59:48
【问题描述】:
是否可以突出出现在短语中的停用词,但不能突出单独出现的停用词?
例如,我想突出显示“指环王”、“指环王”或“领主”。但我不希望 Elasticsearch 突出显示单独出现的“of”或“the”。
我在索引设置中使用english_stop 分析器。此分析器会删除所有停用词,因此它不会突出显示搜索结果中的任何停用词。但是,如果我删除了 english_stop 分析器,那么它总是会突出显示诸如“of”、“the”之类的停用词,即使它们单独出现也是如此。我无法使用英语分析器添加另一个字段,因为我有很多文档并且重新索引成本太高。
有没有办法只在短语匹配中突出显示停用词,而无需更改索引架构?
我的索引模板:
"template": "index_name",
"settings": {
"index": {
"analysis": {
"analyzer": {
"english": {
"tokenizer": "tokenizer_name",
"filter": [
"standard",
"lowercase",
"english_stop",
"kstem"
]
},
这是搜索查询“指环王”的突出显示结果
魔戒的主是英国作家J. R. R. Tolkien所著的史诗级奇幻小说。故事开始是托尔金 1937 年奇幻小说《霍比特人》的续集,但最终发展成为一部更大的作品。 魔戒的魔戒分阶段写于 1937 年至 1949 年,是最畅销的小说之一
【问题讨论】:
标签: elasticsearch highlight stop-words