我big database大約有 50 萬(50 萬)個條目,現在所有這些條目也有一些與之相關的檔案(即每個 ID 至少有 pdf 檔案)。現在我需要一個強大的方法來搜索text這些 pdf 檔案中的特定內容,如果我找到它,它應該回傳相應的“id”
請分享一些快速和優化的方法search text in a pdf using PHP。任何想法將不勝感激。
注意:將pdf更改為文本然后搜索顯然不是我要找的,這需要更長的時間。
在一行中,我需要使用 PHP 在 pdf 中搜索文本的最佳方法
uj5u.com熱心網友回復:
如果這是一次性任務,則可能沒有“快速”解決方案。
如果這是一項重復性任務,
- 通過一些工具提取文本。(抱歉,我不知道什么工具。)
- 將該文本存盤在資料庫表中。
FULLTEXT對該表應用索引。
現在搜索會很快。
uj5u.com熱心網友回復:
我自己在 ReactJS 中撰寫了一個網站來搜索 PDF 檔案(索引書籍)中的資訊,我使用 Apache SOLR 搜索引擎對其進行索引。
我在 React 中所做的實質上是:
queryValue = "(" queryValueTerms.join(" OR ") ")"
let query = "http://localhost:8983/solr/richText/select?q="
let queryElements = []
if(searchValue){
queryElements.push("text:" queryValue)
}
...
fetch(query)
.then(res => res.json())
.then((result) =>{
setSearchResults(prepareResults(result.response.docs, result.highlighting))
setTotal(result.response.numFound)
setHasContent(result.response.numFound > 0)
})
這會導致 HTTP 呼叫:
http://localhost:8983/solr/richText/select?q=text:(chocolate OR cake)
由于這是 ReactJS 并且只是部分代碼,因此就 PHP 而言,它對您沒有什么價值,但我只是想演示該方法是什么。我猜你會使用 Curl 或其他什么。
索引本身我在一個單獨的服務中使用 SolrJ,即我撰寫了一個相當小的 Java 程式,它利用 SOLR 自己的 SolrJ 庫將 PDF 檔案添加到 SOLR 索引。
如果您選擇使用 Java 和 SolrJ 進行索引(對我來說是最簡單的選擇,而且我之前幾年沒有使用 Java),這里有一些有用的資源和示例,我根據自己的目的進行了廣泛搜索后收集了這些資源和示例:
https://solr.apache.org/guide/8_5/using-solrj.html#using-solrj
我基本上復制了這里的內容:https : //lucidworks.com/post/indexing-with-solrj/ 并根據我的需要對其進行了調整。
提示:由于我對 Java 非常生疏,而不是設定類路徑等,對我來說,快速的解決方案是將 SOLR 的 solrj 檔案夾中的所有庫復制到我的 Java 專案中。可能還有其他一些圖書館。可能很丑,但為我做了這項作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/357561.html
