我是apache solr的新手。使用apache solr創建動態構面
我已經上傳使用Solr的細胞數的日誌文件,我想在此基礎上有沒有在日誌文件中的內容創建方面。
例如:在我的日誌文件中我有一個事務記錄,我想創建transactionid作爲我的方面並單擊它應該導致在上傳的日誌文件中搜索並根據該特定ID給出結果。
注:我需要小場根據這是在日誌中的內容。
我是apache solr的新手。使用apache solr創建動態構面
我已經上傳使用Solr的細胞數的日誌文件,我想在此基礎上有沒有在日誌文件中的內容創建方面。
例如:在我的日誌文件中我有一個事務記錄,我想創建transactionid作爲我的方面並單擊它應該導致在上傳的日誌文件中搜索並根據該特定ID給出結果。
注:我需要小場根據這是在日誌中的內容。
只要該字段已編入索引,您就可以在其上進行操作。因此,您可以使用無模式配置,也可以使用dynamicField定義來匹配日誌記錄並自動創建字段。
首先查看Solr的例子,那裏應該有足夠的信息。
(基於註釋更新) 如果文本需要進行預處理和分割,有兩種基本途徑:
仍然,專門爲日誌,最好使用像Logstash with Solr output plugin之類的東西。
我的問題是,如果我有一個假設文本文件,並在它的內容是「2016年2月25日18: 05:44821 [Web容器:6] DEBUG [74311F40D97148,USER_ID:EXAMINER6] - com.apache.org.plm.usersearch.client.UserSearchAPI - {LOG屬性:ProcessTime:0毫秒,COMPONENT_NAME:USERSEARCH,TransRefGUID:7431C9280D97148,USER_ID:EXAMINER6 ,}調用代理..............「,如果我有索引它,那麼我只需要Examiner作爲我的方面或TransRefGUID作爲我的方面。對於這種類型,我們有任何解決方案solr – sudha
這看起來像日誌文件的內容。這意味着它需要被解析並分割成字段。你可以用Solr中的正則表達式來完成,但這不是最好的路徑。您應該查看日誌解析解決方案,這些解決方案通常會提供給其他產品,包括Solr。或者查看專注於日誌文件處理,索引和搜索的Elastic(搜索)堆棧。 –
可否請讓我知道我們如何通過使用正則表達式來做到這一點......確切地說,我需要做出改變? – sudha
+1給Alex的回答。
另一種方法是編寫要小面的,並明確該字段添加到您的文檔什麼字段,您想出一個自定義更新的處理器。 只有基於某種模式知道期望的字段類型時,這纔有意義。如果情況並非如此,那麼使用動態字段或無模式配置是最好的選擇。
如果我已經正確理解了這一點,那麼您基本上不知道什麼是前期的,您想要面向哪個領域,是嗎? –
正是因爲我上傳日誌文件應該根據日誌文件中的內容創建動態方面(如transactionId的) – sudha