請教一下各位有經驗的大大, 這問題我知道可能討論過, 但我暫時找不著, 對不起!!
不知各位前輩有沒有這種情況, 當搜尋出來的文章超過 5 位數時, (就是萬位數, 超過一萬篇文章)
便不能顯示下一頁了, 竹貓這裡也是. 試著在 [搜尋] 內輸入 "問題"
便搜出過萬文章, 但卻進不了下一頁的.
我站上也是, 明明就有這些文章, 但超過 5 位數時, 便進不了下一頁.
而我猜估是資料庫內的欄位限制了, 我把*_topic 及 *_post 內的都試改大一點也還不行.
未知有沒有大大知道如何解決呢 ? 謝謝!!
ps. 萬位數以下的都沒問題, 例: 9999
.
[問題] 搜尋超過 5 位數的文章不能顯示下一頁 (已解決, 謝老師相助)
版主: 版主管理群
版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
[問題] 搜尋超過 5 位數的文章不能顯示下一頁 (已解決, 謝老師相助)
最後由 kkt 於 2006-06-16 00:32 編輯,總共編輯了 1 次。
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
早晨安安!!
自己看了一下, 可能我的問題說得不夠具體, 引致表達上的誤會.
=====================================
其實問題是假如用 [搜尋] 去爬文章, 遇到關鍵字的搜尋可能會出現較多的被搜文章時, 我們當然可用上 [時限性搜尋] 又或 [布林運算法的搜尋方式]
從而避免了搜尋出大量廢舊文章或無關文章.
但像我的站上, 會員的文章就像他們的日記一樣,
可以是沒有價值, 但相對於他們來說, 每一篇都是他們的寶貴回憶錄.
也因此, 他們很多時候, 都會細細回味從前跟好友的每一段對話.
=====================================
但現在我的問題可來了, 因之前還未有會員文章過萬數的,
所以並未發現這問題, 而現時假如在那會員的個人資料版面,
點擊 [查詢會員發表的所有文章] 時, 便出現問題了.
因為雖然搜尋了所有文章, 例如有 10,111 筆文章, 但卻再點第 2 頁或下一頁,
卻是無法顯示的.
當然, 我也知道可以學小竹子大那樣, 把文章砍到一萬以下, 問題便解決.
但我剛提及, 我站上的文章可以是廢文, 但對某些會員來說, 卻是價值連城.
所以砍文的方法, 在我來說希望暫且擱下.
消極的方法當然還是有的, 就是干脆不在會員的個人資料版面,
點擊 [查詢會員發表的所有文章],
直接用搜尋加上如上所述搜尋方法.
而我想了想, 今天衹有三四人文章過萬, 但始終不久有天, 大多數會員文章過萬時.
那麼 [查詢會員發表的所有文章] 這功能豈不如同作廢?
在此想希望有沒有知道的大大能賜告一下,
PHPBB 在這搜尋的文章顯示, 是沒有預算個人發表數量過萬位的嗎 ?
還是真的過萬便要砍文去解決呢?
之前有人解決這問題沒有呢 ?
請求各大指導, 謝謝您!!
========================================
補充: 我以下在仙境外掛研究網作搜尋測試, 竟然千位數文章都不能顯示.
在下址 [搜尋] 中輸入 "謝謝" 便可搜得 [有 9469 筆資料符合您搜尋的條件 ]
http://kore.pcadsl.com.tw/phpBB2/search.php
但要翻開下一頁便會:
系統訊息
沒有相關主題或文章符合您要搜尋的條件
.
.
自己看了一下, 可能我的問題說得不夠具體, 引致表達上的誤會.
=====================================
其實問題是假如用 [搜尋] 去爬文章, 遇到關鍵字的搜尋可能會出現較多的被搜文章時, 我們當然可用上 [時限性搜尋] 又或 [布林運算法的搜尋方式]
從而避免了搜尋出大量廢舊文章或無關文章.
但像我的站上, 會員的文章就像他們的日記一樣,
可以是沒有價值, 但相對於他們來說, 每一篇都是他們的寶貴回憶錄.
也因此, 他們很多時候, 都會細細回味從前跟好友的每一段對話.
=====================================
但現在我的問題可來了, 因之前還未有會員文章過萬數的,
所以並未發現這問題, 而現時假如在那會員的個人資料版面,
點擊 [查詢會員發表的所有文章] 時, 便出現問題了.
因為雖然搜尋了所有文章, 例如有 10,111 筆文章, 但卻再點第 2 頁或下一頁,
卻是無法顯示的.
當然, 我也知道可以學小竹子大那樣, 把文章砍到一萬以下, 問題便解決.
但我剛提及, 我站上的文章可以是廢文, 但對某些會員來說, 卻是價值連城.
所以砍文的方法, 在我來說希望暫且擱下.
消極的方法當然還是有的, 就是干脆不在會員的個人資料版面,
點擊 [查詢會員發表的所有文章],
直接用搜尋加上如上所述搜尋方法.
而我想了想, 今天衹有三四人文章過萬, 但始終不久有天, 大多數會員文章過萬時.
那麼 [查詢會員發表的所有文章] 這功能豈不如同作廢?
在此想希望有沒有知道的大大能賜告一下,
PHPBB 在這搜尋的文章顯示, 是沒有預算個人發表數量過萬位的嗎 ?
還是真的過萬便要砍文去解決呢?
之前有人解決這問題沒有呢 ?
請求各大指導, 謝謝您!!
========================================
補充: 我以下在仙境外掛研究網作搜尋測試, 竟然千位數文章都不能顯示.
在下址 [搜尋] 中輸入 "謝謝" 便可搜得 [有 9469 筆資料符合您搜尋的條件 ]
http://kore.pcadsl.com.tw/phpBB2/search.php
但要翻開下一頁便會:
系統訊息
沒有相關主題或文章符合您要搜尋的條件
.
.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
瀏覽您的論壇發現:
雖然成立才一年多, 會員數也只有 500 多位,
但是論壇的文章數, 竟然已經高達十幾萬篇.
其實, 您仔細看看這些已經發表上萬文章的會員, 所發表的文章,
便不難發現 '灌水' 的居多;
有的文章是一句話, 有的文章只是挑幾個表情符號.
--
phpbb 有在 search.php 設計一個 '限制器' (limiter) 預設最多 5000 筆結果
為了避免系統負擔太大, 只有建議減少 (decrease) 該值, 不會建議增加.
--
若是搜尋大筆的資料,
則建議在 '搜尋選項' 中, 做適當的篩選.
例如, 挑選適當的 '版面' 或 '時間' 等,
較能獲致精確的結果.
雖然成立才一年多, 會員數也只有 500 多位,
但是論壇的文章數, 竟然已經高達十幾萬篇.
其實, 您仔細看看這些已經發表上萬文章的會員, 所發表的文章,
便不難發現 '灌水' 的居多;
有的文章是一句話, 有的文章只是挑幾個表情符號.
--
phpbb 有在 search.php 設計一個 '限制器' (limiter) 預設最多 5000 筆結果
代碼: 選擇全部
//
// Search ID Limiter, decrease this value if you experience further timeout problems with searching forums
$limiter = 5000;
$current_time = time();
--
若是搜尋大筆的資料,
則建議在 '搜尋選項' 中, 做適當的篩選.
例如, 挑選適當的 '版面' 或 '時間' 等,
較能獲致精確的結果.
多謝老師的回覆, 關於 search.php 內的設定, 我原來的已大了 10 倍,
是 50,000 但我設到 150,000 還是沒有獲得解決.
ps. 我站上全是灌水文章, 我是知道的, 當中有很多都是需要幫助的人. 衹願能帶給他們一點歡愉.
.
是 50,000 但我設到 150,000 還是沒有獲得解決.
ps. 我站上全是灌水文章, 我是知道的, 當中有很多都是需要幫助的人. 衹願能帶給他們一點歡愉.
.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
終於解決了, 早在 2002 年已有人在官方提出, 再搜尋一下討論串..
http://www.phpbb.com/phpBB/viewtopic.php?p=73219
打開:
search.php
找到:
覆蓋為:
.
http://www.phpbb.com/phpBB/viewtopic.php?p=73219
打開:
search.php
找到:
代碼: 選擇全部
$base_url = "search.$phpEx?search_id=$search_id";代碼: 選擇全部
if ($search_author != "") {
$base_url = "search.$phpEx?search_author=$search_author";
}
else {
$base_url = "search.$phpEx?search_id=$search_id";
}.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
備忘: 還有原來一個主題的回覆超過 999 篇的話.
執行版面管理時, 也是搜尋不出文章的.
但這個可用限制主題回覆數來避免.
不過相信較小人會遇這問題. 而我因為有些文字遊戲的主題, 才有上萬之數.
若然不是如此, 我也沒發現這個隱性問題.
.
執行版面管理時, 也是搜尋不出文章的.
但這個可用限制主題回覆數來避免.
不過相信較小人會遇這問題. 而我因為有些文字遊戲的主題, 才有上萬之數.
若然不是如此, 我也沒發現這個隱性問題.
.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
對於主題內文章超逾 1,000 而又要執行版面管理, 這問題終解決了.kkt 寫:備忘: 還有原來一個主題的回覆超過 999 篇的話.
執行版面管理時, 也是搜尋不出文章的.
但這個可用限制主題回覆數來避免.
不過相信較小人會遇這問題. 而我因為有些文字遊戲的主題, 才有上萬之數.
若然不是如此, 我也沒發現這個隱性問題.
.
但不建議使用, 祇作參考, 而我卻有用上, 因為沒辦法迫著要用.
打開: search.php
把所有 {1,2} 改為 {1,1}找到:
if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))
再找:
if (preg_match('#^[\*%]+$#', trim($split_search[$i])) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($split_search[$i]))))
再找:
if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))
另外這兩段最好不要設太大, 不然會超逾搜尋 30 秒的時限
這段:
$limiter = 5000;
及這段:
$max_result_length = 5000;
大約設至最大 10000; 好了
沒必要最好不作這些修改, 除非你有主題文章超逾 1,000 而又要執行版面管理.
.
舊站台經已結朿了, 學生們可到遊戲站玩玩 Flash Game (不必註冊) 免費 Flash Game
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助
在此學到很多架站知識, 永遠多謝:
心靈捕手老師, ~倉木麻衣~, 依夢兒 及 神川小羽各位大大相助

