基於ElasticSearch實現商品的全文檢索檢索
全文檢索
相關概念
資料分類;
結構化資料:行資料,儲存在資料庫裡,可以用二維表結構來邏輯表達實現的資料能夠用資料或統一的結構加以表示,可以用數字和符號加以表示
非結構化資料:無法用數字或統一的結構表示 文字、影像、聲音、網頁
結構化資料屬於非結構化資料,非結構化資料即為全文資料
全文檢索:一種將檔案中或者資料庫中所有文字與檢索項匹配的文字資料檢索方法,對全文資料的檢索
兩種方法:
順序掃描法:
索引掃描法
全文檢索的基本思路,也即將非結構化資料中的一部分資訊提取出來,重新組織,使其變得有一定結構,然後對此有一定結構的資料進行檢索,從而達到搜尋相對較快的目的
兩個過程
索引建立
索引中儲存了什麼 字典 索引只會建立一次
第一步:一些要索引的原文件
第二步:將原文件傳給分片語件
第三步:將得到的詞元(Token)傳給語言處理元件(Linguistic Process)
第四步:將得到的詞(Term)傳給索引元件(Indexer)
搜尋索引
第一步:使用者輸入查詢語句
第二步:對查詢語句進行詞法分析,語法分析及語言處理
第三步:搜尋索引,得到符合文件
全文檢索引擎
全文檢索引擎是目前廣泛應用的主流搜尋引擎
它的工作原理是計算機索引程式通過掃描文章中的每一個詞,對每個詞建立一個索引,指明該詞在文章中出現的次數和位置當使用者查詢時,檢索程式就根據事先建立的索引進行查詢,並將查詢的結果反饋給使用者的檢索方式
主流開源額全文檢索引擎
ElasticSearch相關概念
ElasticSearch 是一個基於Apache Lucene(TM)的開源搜尋引擎。無論在開源還是專有領域,Lucene可以被認為是迄今為止最先進、效能最好的、功能最全的搜尋引擎庫
為什是ElasticSerach
ElasticSearch也使用Java開發並使用Lucene作為其核心來實現所有索引和搜尋的功能,但是它的目的是通過簡單的Restful API來隱藏Lucene的複雜性,從而讓全文搜尋變得簡單
分散式的實時檔案儲存,每個欄位都被索引可被搜尋
分散式的實時分析搜尋引擎
可以擴充套件到奧上百臺伺服器,處理PB級結構化或非結構化資料
所有的功能整合在一個服務裡面,可以通過Restful api、各種語言的客戶端甚至命令列與之互動,上手容易,提供了很多合理的預設值,開箱即用,學習成本低。可免費下載、使用和修改、配置靈活
安裝Es同時安裝中文分片語件
全文檢索的測試
curl -XPOST "http://192.168.199.112:9200/_analyzer=ik&pretty" -d '這是一個商品的標題'
相關文章
- elasticsearch的實現全文檢索Elasticsearch
- ElasticSearch 實現分詞全文檢索 - 概述Elasticsearch分詞
- 基於Lucene的全文檢索實踐
- ElasticSearch 實現分詞全文檢索 - delete-by-queryElasticsearch分詞delete
- php + MongoDB + Sphinx 實現全文檢索PHPMongoDB
- Oracle全文檢索Oracle
- 全文檢索庫 bluge
- springboot ElasticSearch 簡單的全文檢索高亮Spring BootElasticsearch
- Elasticsearch檢索文件。Elasticsearch
- PHP+redis實現超迷你全文檢索PHPRedis
- 讀書筆記:從Lucene到Elasticsearch:全文檢索實戰筆記Elasticsearch
- Kibana 全文檢索操作
- solr全文檢索學習Solr
- Oracle全文檢索之中文Oracle
- 請問全文檢索的思路?
- ElasticSearch入門檢索Elasticsearch
- ElasticSearch進階檢索Elasticsearch
- 板橋大人,首頁的google全文檢索如何實現Go
- Oracle的全文檢索技術(轉)Oracle
- 全文檢索技術lucene的demo
- 全文檢索的基本原理
- Oracle全文檢索之Ctxcat 索引Oracle索引
- Oracle全文檢索之ContextOracleContext
- IM全文檢索技術專題(四):微信iOS端的最新全文檢索技術優化實踐iOS優化
- Mysql 如何實現全文檢索,關鍵詞跑分MySql
- 全文字檢索的應用(2)(轉)
- 全文字檢索的應用(1)(轉)
- PostgreSQL全文檢索-詞頻統計SQL
- coreseek,php,mysql全文檢索部署(一)PHPMySql
- coreseek,php,mysql全文檢索部署(二)PHPMySql
- 手工建立oracle text全文檢索元件Oracle元件
- openGauss每日一練(全文檢索)
- lnmp+coreseek實現站內全文檢索(安裝篇)LNMP
- oracle全文索引之配置全文檢索環境Oracle索引
- SQLSERVER2008全文檢索功能(命令列實現)SQLServer命令列
- ElasticSearch 億級資料檢索案例實戰Elasticsearch
- 一種基於概率檢索模型的大資料專利檢索方法與流程模型大資料
- Elasticsearch加速檢索的Tips總結Elasticsearch