django+haystack+whoosh+分词库=搜索站
前言 很少有朋友写相关haystack与whoosh的文章,更没有一个较好的示例。所以我把这个完整的 示例开源 了,希望有兴趣的同学能够交流。 示例网站 解决的问题: 不同字段的优先级,比如Title比Content高。(haystack的whoosh backend默认不支持此功能) 相关性搜索(more_like_this)功能 能结合mysql数据库使用 解决中文分词功能(可以用我自己的yaha分词,或者结巴分词) 实现了更好的 ChineseAnalyzer,这个的 测试地址 使用whoosh 2.5.1。默认haystack使用whoosh2.4,用2.5会报错 修正了haystack+whoosh2.5.1的搜索词纠正功能,默认用老的Spelling API,在whoosh2.5.1下不支持。 同时注意: 如果使用结巴分词默认的ChineseAnanlyzer,请修改代码如下会更好: def ChineseAnalyzer(stoplist=STOP_WORDS,minsize=1,stemfn=stem,cachesize=50000): return ChineseTokenizer()|LowercaseFilter()|StopFilter(stoplist=stoplist,minsize=minsize)\ |StemFilter(stemfn=stemfn