社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MongoDB

文本搜索返回MongoDB或Python对象中的键

Henry • 5 年前 • 1392 次点击  

我试图用mongodb和python flask实现一个文本搜索,它将返回一个带有给定输入查询的键。

我的json文档表示一篇按页划分的文章,作为键,键的值是一个段落文本列表:

{ 

   "_id" : ObjectId('eeeeeeeeeee'),

   "title" : "Article Title",

   "1" : ["Some text in 0 position of the list which represents page 1, first paragraph", "Some text in 1 position of the list which represents page 1, second paragraph"],

   "2" : ["random huge text in the second page, paragraph 1", "random huge text in the second page, paragraph 2"] 

 }

数字键代表文章的页面,列表的位置代表页面中的段落。

例如,当用户在查询中输入“文本位置”时,结果应该是列表的键“1”位置1。

不太清楚如何实现这一点。我使用createindex({“$*”:“text”})创建了一个索引,当我在mongo中查询任何内容时,它将返回按分数排序的文档。如果我能检索到与查询最相关的json键,那么我的大多数问题都会得到解决。

我可以从哪里开始?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43974
 
1392 次点击  
文章 [ 1 ]  |  最新文章 5 年前
return
Reply   •   1 楼
return    6 年前

基于MongoDB文档: https://docs.mongodb.com/manual/text-search/#example

例如,您可以使用以下查询从列表咖啡、商店和Java中找到包含任何术语的所有商店:

db.stores.find( { $text: { $search: "java coffee shop" } } )

你也可以用双引号来包装精确的短语。例如,下面将找到包含Java或咖啡店的所有文档:

db.stores.find( { $text: { $search: "java \"coffee shop\"" } } )