Python Django 创建搜索引擎

2024-04-25 09:03:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python2.7toned包创建了一个搜索特性,但是为了使它更具伸缩性,我想使用ElasticSearch。 我想做布尔搜索

(blue or small) purse and not leather
  • 我需要干草堆还是仅仅使用一个ElasticSearch客户端就足够了?在
  • 我怎样才能像上面的例子那样进行复杂的不可预测的布尔搜索(单词的布尔结构是未知的)?在

我在文档中找到的是SearchQuery,它要求我在运行时之前知道搜索组合。在


Tags: orand客户端notblue特性elasticsearch单词
1条回答
网友
1楼 · 发布于 2024-04-25 09:03:28

我调查后发现:

  • 我不需要干草堆。在
  • 布尔搜索可以通过弹性搜索中的“简单查询搜索”方法完成,但是它使用“+-|”代替“AND”“NOT”“OR”,所以这只是一个单词替换的问题。在
  • 您可以覆盖管理页的搜索以使用elasticsearch,然后对其应用过滤器查询。但是,弹性搜索每页返回的结果不超过10000个…您可以阅读多个页面,但我最终只检索前10000个ID(如果有超过10000个结果),并将其传递给管理员以执行查询mymodel.objects.filter(id__in=[my_ids])

我不太乐意这样做,所以如果有人知道更好的方法,让我知道。在

相关问题 更多 >