我有一種情況,我需要從多個索引(產品和用戶)中進行搜索。下面是我用來進行搜索的示例查詢
http://localhost:9200/_all/_search?q=*wood*
http://localhost:9200/users,products/_search?q=*wood*
使用上述 API 請求,它只回傳產品索引的搜索結果。但是,如果我使用以下 API 進行搜索,它會回傳用戶索引的搜索結果
http://localhost:9200/users/_search?q=*wood*
如您所見,我為“q”引數傳遞了相同的值。我需要同時搜索產品和用戶索引,并檢查兩個索引的任何屬性中是否有“木頭”一詞。我怎樣才能做到這一點
uj5u.com熱心網友回復:
您可以傳遞多個索引名稱,而不是_all因為它會使用逗號分隔的索引名稱來搜索您不打算搜索的其他索引,例如
http://localhost:9200/users,products/_search?q=*wood*
雖然,_all還應該從指定名稱時獲得的索引中獲取結果users,但您需要除錯它發生的原因,可能將size引數增加到 1000,因為默認情況下 Elasticsearch 僅回傳 10 個結果,而且似乎是_all所有頂級結果僅來自products索引。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505624.html
