帮助

易优搜索全站内容并从文章内容中搜索关键字的解决方法

2023-08-29 11:07 技术文档

在易优搜索中,默认情况下是从文章标题中进行搜索。这是因为数据库中存储的标题内容是纯文本,所以无需进行过滤。然而,在某些情况下,我们需要从文章内容中全站搜索并检索关键词,而默认的搜索功能显得不够灵活。但是,通过灵活运用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}

然而,需要注意的是,易优数据库中的content字段存储的是带有HTML标签的内容。如果搜索的关键字包含常见的HTML标签(如"a"、"p"、"br"等),会导致搜索结果显示全部文章。尽管这种方法勉强可行,但可能会影响搜索结果的准确性。因此,建议对搜索关键字进行过滤或限制,以避免这个问题。

综上所述,通过使用SQL语句和适当的关键字过滤,我们可以实现从文章内容中搜索关键字的全站搜索功能。希望这个解决方法对你有所帮助。


相关推荐

QQ在线咨询