2014-09-18 64 views
1

SQL查詢文本塊出於某種原因,通過ColdFusion的Solr的收集結果分析時,我得到的SQL查詢的文本是<cfquery>標籤內。任何方式來防止這種情況?ColdFusion的Solr的返回總結

回答

5

您必須對實際文件建立索引。 Solr不瞭解ColdFusion或SQL或cfquery標記。對於Solr來說,這些文件只是文本文件,它正在做你告訴它做的事情,這就是索引裏面的文本。

通常你會在一個數據庫或只是簡單的文本文件使用Solr的索引記錄,例如其中將不包含實際的應用程序代碼。

你也許可以找到一個Solr的過濾器,去除標籤,也許是一個HTML過濾器什麼的,刪除代碼,但我不知道,甚至會得到你想要的東西。我會先看看HTMLStripCharFilterFactory或PatternReplaceCharFilterFactory。前者剝去HTML,但我認爲它可能會剝離cfquery標籤並保留SQL,這不是您想要的。後者將允許您編寫自己的正則表達式來過濾掉索引文檔中的內容。所以你可以寫一個去掉cfquery標籤的東西。你可以找到關於這些在Solr documentation

所有這一切說的更多信息,你真的不應該索引使用Solr應用程序代碼。您的網頁內容不應與應用程序代碼本身混雜在一起。內容應該存儲在數據庫或其他數據存儲機制中,然後只有內容本身應該被編入索引。