我在数据库description
中有一个字段,系统将在其中保存HTML代码。你知道吗
我有一个搜索系统,可以与Q:
Post.objects.filter(Q(name__icontains=keyword) | Q(description__icontain=keyword))
它工作得很好,但问题是当用户搜索'<strong>'
或'strong'
时,它将返回包含'<strong>'
单词的行,但不应考虑HTML标记。你知道吗
那么,如何使用Django ORM搜索HTML内容中不考虑HTML标记的值呢?你知道吗
Tags:
您可以或者应该使用haystack来研究一个合适的搜索函数,如果您不使用核心搜索函数,我最喜欢的搜索引擎是whoosh(pip install whoosh)。您可以这样定义要编入索引的内容:
这是相当容易设置,一旦你做了,设置为下一个项目将在几分钟内。你知道吗
我可能会添加另一个名为
stripped_description
的字段,并使用django的striptags
过滤器去除html标记,然后让django搜索该字段。如果需要显示HTML代码,它仍然会找到需要调用实际的description
字段的行,但这是我用来“忽略”HTML标记的唯一方法。你知道吗我觉得这是个好动作:
相关问题 更多 >
编程相关推荐