再详细一点。讲一下什么数据适合用keyword存储,什么数据适合用text存储
时间: 2023-05-31 08:07:45 浏览: 27
关于数据在keyword和text两种存储方式中应该如何选择,通常情况下,如果需要对数据进行全文搜索或者模糊查询,建议使用text存储方式。而如果数据具有明确的分类或者取值范围,可以使用keyword存储方式。例如,性别、年龄、国籍、婚姻状况等属性通常适合使用keyword存储,而文章内容、留言、评论等需要进行搜索的内容适合使用text存储。当然,具体选择还需要考虑具体情况和需求。
相关问题
用python在豆瓣读书网爬取数据并存储到mongodb中
好的,我可以给你提供一个大致的思路:
1. 安装selenium和pymongo库
```
pip install selenium pymongo
```
2. 下载Chrome浏览器和相应版本的chromedriver,并配置环境变量
3. 使用selenium模拟浏览器打开豆瓣读书网站,并搜索需要的书籍,获取搜索结果页面的源代码
```python
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
# 打开网页
url = "https://book.douban.com/"
driver.get(url)
# 搜索书籍
keyword = "Python"
search_box = driver.find_element_by_xpath("//input[@name='search_text']")
search_box.send_keys(keyword)
search_box.submit()
# 获取搜索结果页面的源代码
page_source = driver.page_source
# 关闭浏览器
driver.quit()
```
4. 使用BeautifulSoup解析页面源代码,获取需要的数据
```python
from bs4 import BeautifulSoup
# 解析页面源代码
soup = BeautifulSoup(page_source, "html.parser")
# 获取书籍列表
book_list = soup.find_all("li", class_="subject-item")
# 遍历书籍列表,获取书籍信息
for book in book_list:
# 获取书名
title = book.find("h2").a["title"]
# 获取评分
rating = book.find("span", class_="rating_nums").get_text()
# 获取出版信息
pub_info = book.find("div", class_="pub").get_text().strip()
# 存储数据到数据库
db.books.insert_one({"title": title, "rating": rating, "pub_info": pub_info})
```
5. 将数据存储到MongoDB中
```python
from pymongo import MongoClient
# 连接MongoDB数据库
client = MongoClient("mongodb://localhost:27017/")
db = client["douban"]
# 存储数据到数据库
for book in book_list:
# 获取书籍信息
...
# 存储数据到数据库
db.books.insert_one({"title": title, "rating": rating, "pub_info": pub_info})
```
以上是一个简单的爬虫程序,可以根据自己的需求进行修改和优化。另外需要注意的是,爬取网站数据需要遵守网站的相关规定和法律法规,不得进行恶意爬取和商业利用。
elasticsearch keyword类型和text类型有什么区别
在 Elasticsearch 中,`keyword` 类型和 `text` 类型都是用于存储文本类型数据的,但是它们有一些重要的区别。
1. 分词:`keyword` 类型不会进行分词,而 `text` 类型会进行分词。
2. 索引方式:`keyword` 类型使用精确匹配的方式进行索引,而 `text` 类型使用倒排索引的方式进行索引。
3. 查询方式:对于 `keyword` 类型的字段,只能进行精确匹配查询,而对于 `text` 类型的字段,可以进行全文搜索、模糊查询等多种查询方式。
4. 存储空间:由于 `keyword` 类型不进行分词,因此存储空间相对较小,而 `text` 类型由于需要进行分词,需要存储更多的数据。
总的来说,`keyword` 类型适合存储不需要进行分词的、精确匹配的文本数据,如 ID、名称等;而 `text` 类型适合存储需要进行全文搜索、模糊查询等操作的文本数据,如文章内容、描述等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)