Coldfusion Solr以摘要形式返回SQL查询文本

lut*_*han 1 coldfusion solr

出于某种原因,当通过solr集合解析得到Coldfusion时,我得到了<cfquery>标记内的SQL查询文本.有什么办法可以防止这个?

Sea*_*yne 5

您必须索引实际文件.Solr不了解ColdFusion或SQL或cfquery标记.对于Solr来说,这些文件只是文本文件,而且它正在执行您告诉它要做的事情,即将内部文本编入索引.

通常,您将使用Solr来索引数据库中的记录,或仅使用纯文本文件,例如不包含实际应用程序代码的文本.

您可能能够找到Solr的过滤器,删除标签,可能是HTML过滤器或其他东西,以删除代码,但我不确定这甚至会得到你想要的.我将首先查看HTMLStripCharFilterFactory或PatternReplaceCharFilterFactory.前者剥离了HTML,但我认为它可能只是删除了cfquery标记并留下了SQL,这不是你想要的.后者允许您编写自己的正则表达式来过滤索引文档中的内容.所以你可以编写一个删除cfquery标签的方法.您可以在Solr文档中找到有关这些的更多信息

总而言之,您真的不应该使用Solr索引应用程序代码.您的页面内容不应与应用程序代码本身混合在一起.内容应存储在数据库或其他数据存储机制中,然后只应对内容本身编制索引.