2016-07-05 78 views
0

我剛剛開始使用彈性搜索,並且必須使用嵌套客戶端工作。我對索引的設計有幾點疑問。有人可以幫我回答他們嗎?設計和一般問題 - 彈性搜索巢

  1. 是否可以跨不同類型進行全局搜索?對於 例如:我在我的網站上有論壇帖子,維基頁面和博客頁面。所以 當我搜索一個詞,我可以做這三個全球搜索 並生成結果。我如何索引文件來實現這一目標? (最佳例子:谷歌搜索搜索彈性,它顯示的結果 整個網頁,圖片,視頻等)

  2. 我閱讀的文檔自動完成和整個 其他功能方面建議者來了。這兩個之間有什麼區別 ?從文檔中可以明顯看出,自動填充是 ,就像我們在輸入時(基於我們使用的分析器)建議和填充單詞一樣,在上下文建議器中我們已經預先定義了這些建議。我的理解是否正確?但我 不明白我們在哪個上下文中使用自動完成和上下文建議程序 。

  3. 除彈性指南外還有其他任何資源,以 巢爲開頭嗎?

對不起,非常普遍的問題(正如我所說的,我對Elastic搜索完全陌生)。不知道我是否可以在這裏問這些問題。

在此先感謝。

+0

對於你的問題3,我認爲最好的答案是檢查[官方指南](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html), SO和[elasticforum](https://discuss.elastic.co/c/elasticsearch)供您查詢。 – ASN

回答

3
  1. 是的,可以在同一索引和不同索引中跨不同類型執行全局搜索。

    一般建議每個索引只有一個類型(除非您有很好的理由,例如文檔之間的父/子關係,應用程序中類型之間的分層繼承關係)。想象一個類似於預定義的過濾器的類型。索引級別的許多功能都起作用,例如完成建議,文檔字段類型,因此具有單獨的索引減輕了一些潛在的混淆原因,並且當不再需要其中的文檔時刪除整個索引是快速操作(與刪除索引中的許多文檔相比)。

  2. Completion suggester和上下文建議器適用於需要提供「鍵入完成」的情況。由於他們使用的Finite State Transducer (FST) data structure,它們非常快;基本上只需要評估當前節點(輸入字符)後面的圖形路徑以提供建議。

    因爲這兩個建議器使用FST,所以您無法像使用倒排索引數據結構的搜索一樣使用查詢DSL過濾器。上下文提示器本質上是完成建議器的擴展,它提供了一些類別(一組術語)或與完成數據關聯的地理位置的過濾。

    通常將建議器與其他搜索方法結合使用以形成總體策略是非常有用的。

  3. Elasticsearch Definitive Guide Online是一個很好的資源,由Elastic的兩個成員編寫,並根據新版本進行更新。您可能會發現實用的其他資源是Elasticsearch in ActionRelevant Search。檢查出the NEST documentation入門,如果您有任何疑問,the discussion forums可能是在Elastic以及更廣泛的IR /搜索社區中頻繁使用它們的最佳人選。

+0

感謝Russ的回答。這是一個非常詳細的解釋,幫助我更多地瞭解我所問的問題。 – DeadSong