簡體   English   中英

MySQL:搜索文件內容的最佳方法(全文搜索)

[英]MySQL: Best way to search in files' content (fulltext search)

我目前正在開發一個網站,允許用戶上載演示文稿,文檔和電子書(如scribd和slideshare),因此我需要能夠搜索文件的內容。 我目前正在從txt文件中的文件中提取文本。 我在使用MySQL時正在考慮2個選項:

  1. 將純文本存儲在單獨的表中,並使用mysql的全文索引對其進行搜索。
  2. 使用倒排索引存儲單詞並搜索它們。 (2個新表-單詞和多對多文檔表)。 現在,在這種情況下,我該怎么做才能使用與結果更加相關的重復單詞。

文本將僅用於搜索。 (1)的問題在於電子書的文本可能很大,因此我考慮將其限制為(例如)50kb或更小。 (2)在電子書中也有很多單詞的問題,這又是可以限制的。

因此,您能否引導我找到索引文本並進行快速全文本搜索的最佳方法。 在這種情況下,我需要充分利用mysql。

我決定按照Rob Di Marco的建議使用Sphinx。 事實證明,它是目前最快的(開源的)全文搜索引擎。 我在編譯和讓SphinxSE不崩潰mysql時遇到了一些麻煩,因此我現在使用包含插件的MariaDB。

由於實時索引,我選擇了版本1.10。 這意味着,如果您僅添加一行,則無需等待索引器重新構建整個索引。 (我知道主要+增量的解決方法,但這是使用SphinxQL進行配置和使用的更容易的方式)

另請參閱與SphinxSE和RT索引有關的一些問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM