易優搜索全站內容并從文章內容里搜索關鍵字解決方法
2022-12-01 加入收藏
易優搜索默認的是從文章標題里面搜索,因為數據庫儲存的標題內容是純文本,所以不用過濾。但是有些時候需要全站搜索并從文章內容中檢索關鍵詞,這時候默認的搜索就顯得捉襟見肘了。其實我們靈活運用sql語句直接查詢就可以實現!如下:
{eyou:sql sql="select aid from ey_article_content where content like '%$keywords%' union select aid from ey_archives where title like '%$keywords%' union select aid from ey_product_content where content like '%$keywords%' limit 0,5" }
{eyou:sql sql="select aid from ey_archives where aid='$aid'" id="field3"}
<li class="dot">
{eyou:arcview aid="$field3.aid" id="field2" addfields="content" }
<a href="{$field2.arcurl}" title="{$field2.title}"><h1>{$keywords,"<font color='red'>$keywords</font>",$field2.title|str_replace}</h1></a>
{eyou:assign name="neirong" value="$field2.content|html_msubstr"}
<div>{$neirong,$keywords|diy_content}</div>
<span>{$field2.add_time|MyDate='Y-m-d',###}</span>
</li>
{/eyou:arcview}
{/eyou:sql}
{/eyou:sql}這里是利用聯合查詢從文章內容和標題中查詢包含關鍵字的文章aid,并去重,然后將aid套入arcview標簽,循環輸出文章。
這樣即可輸出文章內容或標題包含關鍵詞的文章列表,全站搜索同理可得。
但是有一個問題,易優數據庫content字段儲存的是帶有html標簽的內容,如果搜索像“a”“p”“br”這樣的html標簽,就會出現全部的文章。勉強能用。
