2009-10-29 91 views
1

我想爲我們的內部支持數據庫的搜索 - 每個支持票由許多電子郵件,我試圖找出如何更好地索引呢:使用Lucene.Net,我應該在這裏使用什麼索引stategy?

  • 我應該創建一個文檔爲每的電子郵件或
  • 我應該連接票證的所有電子郵件併爲每張票證創建文檔。

在搜索時我想回程票(而不是電子郵件的機票或任何類似的分組列表)

哪一個是最好的名單?

回答

0

如果您想在結果中列出票證,然後連接電子郵件。否則,您需要維護電子郵件和票據之間的關係。您只能使用文檔中的文本字段來完成此操作。這可能很慢。但是,這種關係是可能的

如果您使用搜索與關係數據庫索引電子郵件一個一個會沒事的。您檢索電子郵件,然後從lucene文檔中讀取tickedId字段,然後使用數據庫中的此Id讀取Ticket。

很明顯,索引電子郵件是更靈活的解決方案。如果將來您需要檢索每封電子郵件信息,您可以執行此操作。在所有電子郵件合一的解決方案中,您必須對整個數據庫進行重新索引。

+0

謝謝 - 目前我正在嘗試將所有電子郵件連接在一起,如果沒有別的習慣使用Lucene。 – Justin 2009-10-29 15:11:53

0

如果要在票據層次上進行搜索,則最有意義的方法是將所有票證的電子郵件合併到一個文檔中。

0

我不認爲這裏有一個確定的「最佳」答案。就個人而言,我可能會將電子郵件的文本包含在支持服務單的索引中,因爲這樣可以讓單個索引訪問根據電子郵件的文本和支持單的其他屬性找到支持服務單。不過,這是相當主觀的事情,所以你可以嘗試原型制定不同的策略並進行一些用戶測試。

相關問題