当前位置: 首页 > news >正文

如何做印刷报价网站网站建设制作

如何做印刷报价网站,网站建设制作,一般通过会社员,网站对于一个企业的优势把一篇pdf论文解析后,放入es数据库中,建立倒排索引表,并实现简单搜索。 1、pdf论文解析(英文) 安装pdf解析包 pip install pdfminer.sixdef extract_text_from_pdf(filename, page_numbersNone, min_line_length1):从pdf文件中提取文字:pa…

把一篇pdf论文解析后,放入es数据库中,建立倒排索引表,并实现简单搜索。

1、pdf论文解析(英文)

安装pdf解析包

pip install pdfminer.six
def extract_text_from_pdf(filename, page_numbers=None, min_line_length=1):'''从pdf文件中提取文字:param filename: pdf文件:param page_numbers: 指定页码,list:param min_line_length: 文本最小分隔长度:return:'''paragraphs = []buffer = ''full_text = ''# 提取全部文本for i, page_layout in enumerate(extract_pages(filename)):if page_numbers is not None and i not in page_numbers:continuefor element in page_layout:if isinstance(element, LTTextContainer):full_text += element.get_text() + '\n'# 按空行分隔,将文本重新组织成段落lines = full_text.split('\n')for text in lines:if len(text) >= min_line_length:buffer += (' ' + text) if not text.endswith('-') else text.strip('-')elif buffer:paragraphs.append(buffer)buffer = ''if buffer:paragraphs.append(buffer)return paragraphs

2、关键字提取

nltk安装见nltk安装与使用

import re
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwordsdef keywords(text):'''提取文本关键字(简化版):param text: 一段字符串:return:'''# 提取所有字母数字,并替换所有非字母数字的字符为空格no_symbols = re.sub(r'[^a-zA-Z0-9\s]', ' ', text)# 分词word_tokens = word_tokenize(no_symbols)# 去停用词stop_words = set(stopwords.words('english'))filtered_words = [w for w in word_tokens if not w.lower() in stop_words]# 取词根ps = PorterStemmer()key_words = [ps.stem(w) for w in filtered_words]return ' '.join(key_words)

3、创建Elasticsearch连接,注意添加证书

Elasticsearch安装见elasticsearch安装与使用(1)-使用docker安装Elasticsearch

from elasticsearch import Elasticsearch, helpers
# 创建Elasticsearch连接
es = Elasticsearch(hosts=['https://localhost:9200'],  # 服务地址与端口basic_auth=("elastic", "N-sf6R*O0Ur344otTfzc"),  # 用户名,密码ca_certs="/Users/sunwenjun/data/elastic8/http_ca.crt"  # 证书
)

4、建立倒排索引库

def add_data_to_es(index_name="test_index", text_list=["text1","text2"]):'''建立索引,并往索引里添加数据:param index_name: 定义索引名称param paragraphs: 需要检索的文本列表  :return:'''# 如果索引已存在,删除它if es.indices.exists(index=index_name):es.indices.delete(index=index_name)# 创建索引es.indices.create(index=index_name)# 灌库指令actions = []for text in text_list:action = {"_index": index_name,"_source": {"keywords": keywords(text),"text": text}}actions.append(action)# 文本灌库res = helpers.bulk(es, actions)return res# 往es里添加数据
index_name = "index_test"
add_data_to_es(index_name, paragraphs)

索引库可视化见elasticsearch安装与使用(3)-索引库可视化

5、实现搜索

def search(index_name, query, top_n=3):'''查询:param index_name::param query::param top_n::return:'''search_query = {"match":{"keywords": keywords(query)}}search_res = es.search(index=index_name, query=search_query, size=top_n)results = [hit["_source"]["text"] for hit in search_res["hits"]["hits"]]return resultsquery = "retrieval "
results = search(index_name, query, 5)
for res in results:print(res)

5、完整代码

esdemo-01

参考

无需重新学习,使用 Kibana 查询/可视化 SLS 数据

http://www.tj-hxxt.cn/news/34529.html

相关文章:

  • 福建省住建厅建设网站企业网络推广方案策划书
  • 做电商网站需要会些什么问题徐州seo公司
  • 做理财的网站有哪些内容网络营销的认识与理解
  • 网营中国网站建设河南制作网站
  • 黑白灰网站外贸推广平台哪家好
  • 网站程序定制seo入门教程视频
  • 永久免费wap建站环球资源外贸平台免费
  • wordpress添加搜索框重庆百度推广优化排名
  • 做淘客的网站有哪些广州seo优化推广
  • 做中英文网站公司免费网站排名优化在线
  • wordpress菜单外观样式关键词优化seo外包
  • 鞍山网站建设公司营销托管全网营销推广
  • ps怎么做网站横幅广告聊石家庄seo
  • 网站免费正能量直接进入app公司做网络推广哪个网站好
  • 策划网站建设免费网站的平台
  • 网站制作分工销售营销方案100例
  • 宁波网站建设论坛深圳网站做优化哪家公司好
  • 响应式网站的制作网站制作长沙网络公司营销推广
  • 要是360网站不安全怎么做营销培训课程ppt
  • 那个网站可以接做网页私活生意参谋官网
  • 网络推广软件免费搜索引擎优化是免费的吗
  • 域名解析错误连不上网网络优化有前途吗
  • 微信网站设计模板下载自制网站 免费
  • 做网站 用 云主机如何推广一个新的app
  • 景区网站建设教程提高搜索引擎检索效果的方法
  • 武汉网站建设企业如何提升网站seo排名
  • 北京建设教育协会网站首页网站推广搜索
  • 莱芜哪里做网站钓鱼网站制作教程
  • 淘客导航网站开发百度推广app下载
  • 石家庄常规网站建设私人定做百度站长平台如何添加网站