这个其实是很多天前就更新好了的,现在才想起来记录一下。大部分内容都是参考的教程,只是,其中那个搜索结果高亮功能,简单的修改了一下,修改后好像部分功能不能用了呢。
首先是参考内容
参考的还是以前的教程,Django Haystack 全文检索与关键词高亮。
只要一步一步的跟随教程,能实现最终的功能并不难。
我修改的内容
实现搜索功能以后,会发现高亮功能并不令人满意。
就像下面那样
关键词前面都以省略号代替,不管你的标题长度有多少,关键词前面一律以省略号代替。
我感觉这个不太合适,原因就是安装的haystack
目录下有一个文件highlighting.py
,关于搜索结果渲染的函数有:
1 | ... |
这段代码大概在highlighting.py
的最下边。
需要把这段代码简单的修改成如下:
1 | ... |
这里是需要修改系统源码的,就是说这段代码是在安装的系统文件中修改,暂时网上也找不到替代的办法。
PS:不知道是我修改的时候改错了东西,还是怎样,搜索出来的结果并不能高亮,现在我只能把搜索出来的结果的标题,整体高亮。
这个搜索功能有一个缺点
搜索时要按词组搜索,搜索单个汉字或字母,有的时候搜索不到想要的结果。这可能是与jieba
分词有关。
说起来jieba
分词,我想要用它来实现一个简单的功能。还在实现过程中,等实现后再回来写写。
想的过程很美好,就是看实现过程是不是顺利。