python - 带有多个单词的 Django 全文搜索
问题描述
这并不是一个复杂的问题(据我所知)。
我知道在 MongoDB 中你可以输入一个字符串,它会自动标记化并使用该字符串作为查询执行全文搜索。
但是,在 Django 中,我还没有找到类似的功能,而且我看到的所有示例都做了一些类似的事情:
from django.contrib.postgres.search import SearchQuery
query = SearchQuery('foo')
人们只使用一个词的原因是因为SearchQuery 只能使用一个词吗?
我想知道的是如何使用多个单词进行全文搜索。是不是像做一样容易
from django.contrib.postgres.search import SearchQuery
query = SearchQuery('foo and also bar')
? 还是需要比这更复杂?
解决方案
要使用 Django 执行全文搜索,您必须结合使用GiN index
with SearchVector
。
这是我在某处使用的完整工作示例。它也适用于查询中的 2 个以上单词并在 3 个字段中搜索它们。
推荐阅读
- c++11 - 如何在不对其进行 couts 的情况下减少浮点数小数位数
- javascript - 浏览器中的并行性
- c++ - 使用邻接表 C++ 实现 Dijkstra
- c# - Xamarin.FilePicker 返回 null FileData 对象
- r - ggplot在R中的直方图和密度
- hyperledger-sawtooth - Hyperledger Sawtooth XO 测试用例在执行时挂起
- reactjs - 反应本机导航 2
- python - Numpy 删除重复的列值
- vba - Excel VBA-使用VBIDE.CodeModule创建动态变量名关闭用户窗体不会重新加载?
- typescript - TSLint 中的 `extends` 和 `rulesDirectory` 有什么区别