出于某种原因,当通过solr集合解析得到Coldfusion时,我得到了<cfquery>标记内的SQL查询文本.有什么办法可以防止这个?
您必须索引实际文件.Solr不了解ColdFusion或SQL或cfquery标记.对于Solr来说,这些文件只是文本文件,而且它正在执行您告诉它要做的事情,即将内部文本编入索引.
通常,您将使用Solr来索引数据库中的记录,或仅使用纯文本文件,例如不包含实际应用程序代码的文本.
您可能能够找到Solr的过滤器,删除标签,可能是HTML过滤器或其他东西,以删除代码,但我不确定这甚至会得到你想要的.我将首先查看HTMLStripCharFilterFactory或PatternReplaceCharFilterFactory.前者剥离了HTML,但我认为它可能只是删除了cfquery标记并留下了SQL,这不是你想要的.后者允许您编写自己的正则表达式来过滤索引文档中的内容.所以你可以编写一个删除cfquery标签的方法.您可以在Solr文档中找到有关这些的更多信息
总而言之,您真的不应该使用Solr索引应用程序代码.您的页面内容不应与应用程序代码本身混合在一起.内容应存储在数据库或其他数据存储机制中,然后只应对内容本身编制索引.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |