当前位置: 首页 > 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.yayakq.cn/news/934374/

相关文章:

  • 无忧网站wordpress博客菜单颜色怎么改
  • 呼伦贝尔做网站的公司华为公司邮箱是多少
  • wap开头的网站天津网站建设费用
  • 网站开发培训学校网站html实例百度网页制作代码
  • 天津快速建站模板内蒙古建设工程信息服务平台
  • 贵州讯玛网站建设网站备案密码查询
  • 怎样做电商网站弄一个公司官网要怎么弄
  • 做淘宝类网站景观设计公司名称
  • 怎样做才能让百度搜到网站产品wordpress阿里百变
  • 菏泽网站建设方案云南网站制作价格
  • 返利网站开发一般要多少钱工艺品网站模板下载-古色古香
  • 县城服务网站如何做厦门网站建设兼职
  • 北京哪家做网站和网络推广好的咪呜瀑布流WordPress模板
  • 大型 网站 建设 公司做资源共享网站
  • 企业vi设计公司定制百度权重优化软件
  • 网站备案承诺书怎么写免费软件恢复微信聊天记录
  • 桂林北站离阳朔多远视觉设计专业学什么
  • 衡水企业做网站费用超酷网站欣赏
  • 什么是商城网站建设网推公司怎么收费
  • 临汾万词霸屏网站建设免费咨询网站开发总结
  • 西安网络建站图书馆网站建设网站的目的
  • 做网站不懂行情 怎么收费上海手机响应式网站建设设计
  • 桂林象鼻山景区官网网络seo推广
  • 企业网站源码带后台网站目录管理模板下载
  • 网站建设flash做网站是做广告吗
  • 怎么样用ppt做网站网站开发需要注意的问题
  • 邢台建设企业网站政务网站建设信息
  • 域名注册网站 不认证windows部署wordpress
  • 东莞网站建设服务商昆明航空公司官方网站
  • 杭州网站设计建设网站备案没座机