自己的研究方向就是在一堆文章中玩遊戲,很有趣的地方是,什麼樣的文章才是相關?出現相同的字,出現相同的意念,還是說它有相似的結構呢?其實在IR的領域中,我們著重的幾乎都是文章的字,統計上玩的是字數關係,search上玩的是出現的關係,我不能說兩者有什麼不一樣,因為他們玩來玩去其實一邊少不了字的關係,另一邊也少不了字的數量,只是著重的程度不同罷了。
這一個plugin利用的方式僅僅是term match,很簡單,但是老實說也很有效,尤其是在這種小領域且專一的文章群中,由我自訂的關鍵字當然在我的想法中會比較一致,相關的文章或許會比較有關聯,也許,你認為我標記的不好也說不定,因為關係是一種主觀,關連則是一種實質上的聯繫,利用資料庫的方式最多做到的是資料的聯繫,而經由我定義的關鍵字也許定義了文章的關係,但是誰知道他們的關係是不是你要的呢?
一開始安裝這個plugin,最好確認一下你可不可以去操作你的資料表,最好是有phpmyadmin之類的,當然你如果熟悉資料庫語法,那當然就以你熟悉的方式操作了。你可以到mike的網站找到這個pluin,目前版本應該是1.31,在壓縮檔中有完整的說明,你也可以看看我的說明步驟。
- 第一步你必須在你的wp-posts這個資料表中修改兩個欄位,替他們加上FULLINDEX,你可以利用下面的sql敘述作到這件事情
ALTER TABLE `wp_posts` ADD FULLTEXT `post_related` (
`post_name` ,
`post_content`
) - 將releated-posts.php這個外掛放到/wp-content/plugins/目錄中
- 接下來到後台去啟用這個外掛。
- 最後在你的index.php中加入下面的敘述,位置看你要如何放囉
<?php if ($single) { ?>
<ul>
< ?php related_posts(5, 10, '<li>', ': : ', '', ' ...</li>, false, true); ?>
</ul>
<?php } ?>
其中參數部分,在說明中都有,你可以自行去參考,但我這邊要說明一件事情,如果你不希望在相關文章列表出現文摘,那你最後一個參數應該設定為false,但是這時候會出現問題,你必須修改releate-post.php 大約第43行的地方:
if ($show_excerpt) {
$words=split(" ",$post_content);
$post_strip = join(" ", array_slice($words,0,$len));
$output .= $before_post . $post_strip . $after_post;
}
}
改成if ($show_excerpt) {
$words=split(" ",$post_content);
$post_strip = join(" ", array_slice($words,0,$len));
$output .= $before_post . $post_strip . $after_post;
}else{
$output .= $after_post;
}
我在第一個步驟就漏掉了,真是太誇張了,所以在這邊將步驟再提一下,希望大家用起來比較順手,祝你使用愉快!
1 則留言:
基本上我目前的plugin運作還不是非常正常,因為它不會按照find_keywords那個函式去抓到我文章中放置的<!--kw=key1-->,這一點我還要在看看原因在哪裡。反正我的文章代稱這一欄位基本上也沒有用,我把它拿來當作keyword放置的地方了。
而且目前無法以中文作為keyword,這樣的話效率上就有差了
張貼留言