如何为Neo4j全文分析器添加额外停用词且无需编写自定义插件?
解答
可以不用编写自定义分析器插件实现自定义停用词配置,Neo4j原生全文索引已经内置了对应的配置能力,无需额外开发。
支持的配置方式
直接指定停用词列表
你需要的fulltext.stopwords配置项原生支持,直接传入自定义停用词数组即可。可搭配fulltext.stopwords_override_default参数控制生效规则:- 参数值为
false:自定义停用词会追加到指定分析器(你当前使用的danish丹麦语分析器)的默认停用词列表中,符合你在现有基础上新增的需求 - 参数值为
true:仅使用你传入的自定义停用词,完全替换分析器默认停用词列表
配置示例:
CREATE FULLTEXT INDEX productNameIndex FOR (n:Product) ON EACH [n.name] OPTIONS { indexConfig: { `fulltext.analyzer`: 'danish', `fulltext.stopwords`: ['word1', 'word2'], `fulltext.stopwords_override_default`: false } }- 参数值为
读取本地停用词文件
支持通过fulltext.stopwords_path参数加载外部停用词文件,你需要提前将stopwords.txt上传到Neo4j服务的import目录(符合Neo4j默认的文件访问安全限制),配置示例:CREATE FULLTEXT INDEX productNameIndex FOR (n:Product) ON EACH [n.name] OPTIONS { indexConfig: { `fulltext.analyzer`: 'danish', `fulltext.stopwords_path`: 'stopwords.txt', `fulltext.stopwords_override_default`: false } }
注意事项
- 全文索引的配置在创建时固化,修改停用词规则后需要删除原有索引重新创建,新配置才会生效
- 停用词文件要求每行存放一个停用词,使用UTF-8编码即可
内容的提问来源于stack exchange,提问作者Chris Wohlert
相关产品推荐
相关产品推荐

