簡體   English   中英

我們是否需要專門在 elasticsearch 中創建索引?

[英]do we need to create index specifically in elasticsearch?

我對 elasticsearch 很陌生,我知道 elasticsearch 中的 index 有兩個含義,它要么意味着映射到節點中分片的邏輯命名空間,要么像我們在關系數據庫管理系統中所做的那樣索引一些數據。 所以通常在 SQL 中,我會使用“創建索引”在一個或多個字段上創建單個或復合索引,我如何在 elasticsearch 中執行此操作,或者 elasticsearch 自動執行索引(動詞)以提高搜索效率?

您說對了,elasticsearch 中的索引在內部映射到分片和副本,但是您對 RDBMS 索引的命名/含義感到困惑(在 RDBMS 中創建它是為了提高搜索效率)。

在 Elatsicsearch 中,索引包含一個映射(您可以在其中定義各種字段、它們的數據類型和分析器),有關更多信息,請參閱彈性搜索中的映射

現在,當您在 elasticsearch 中定義一個字段時,它接受一些參數,其中一個參數也稱為index ,根據同一個官方文檔是

index 選項控制是否對字段值進行索引。 它接受真或假並默認為真。 未編入索引的字段不可查詢。

這意味着,該字段將成為 Elasticsearch 倒排索引的一部分,用於查詢/搜索數據,顯然如果沒有此選項,您將無法搜索該特定字段,因為這是倒排索引的一部分(更快的數據結構以提高搜索性能),您將隱式獲得更好的搜索性能:)

正如官方文檔中提到的 index param 的默認值是 true,所以要回答您的問題,您不需要在 Elasticsearch 中專門定義索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM