Lindorm搜尋引擎提供了一系列相容Elasticsearch RESTful風格的API,您可以通過curl命令調用這些API,管理搜尋引擎中的搜尋索引及文檔。
前提條件
串連搜尋引擎
執行以下命令,串連搜尋引擎,查看叢集中的索引資訊。
curl -XGET "http://<url>/_cat/indices?v" -u <username>:<password>
參數說明
參數 | 說明 |
url | 搜尋引擎的Elasticsearch相容串連地址。如何擷取,請參見Elasticsearch相容地址。 重要
|
username | 訪問搜尋引擎的使用者名稱和密碼。 預設使用者名和密碼的擷取方式:在控制台的左側導覽列,選擇資料庫連接,單擊搜尋引擎頁簽,在搜尋引擎頁簽可擷取。 |
password |
串連樣本如下:
curl -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_cat/indices?v" -u <username>:<password>
串連成功後將顯示如下結果,因還未建立索引,結果中不會顯示任何具體的索引資訊:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
使用搜尋引擎
以下為常用的curl命令。更多命令,請參見Elasticsearch官方文檔。
管理索引
建立索引。
在搜尋引擎中建立索引lindorm_search。
curl -XPUT "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search" -u <username>:<password>
建立成功將返回如下結果:
{"acknowledged":true,"shards_acknowledged":true,"index":"lindorm_search"}
設定索引結構。
設定索引lindorm_search的結構為
_mapping
,類型為_doc
,包含id
、name
和describe
欄位。curl -XPUT "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/_mapping" -u <username>:<pasword> -H 'Content-Type: application/json' -d ' { "_doc":{ "properties": { "id": {"type": "long"}, "name":{"type":"keyword"}, "describe": {"type": "text"} } } }'
設定成功後將返回如下結果:
{"_index":"lindorm_search","_type":"_doc","_id":"_mapping","_version":1,"result":"created","_shards":{"total":1,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
查看執行個體下的索引。
curl -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_cat/indices?v" -u <username>:<pasword>
返回結果如下:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open lindorm_search lindorm_search 1 0 0 0 208b 208b
如果當前執行個體下無索引,則返回結果中無具體索引資訊。
刪除索引。
curl -XDELETE "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search" -u <username>:<password>
刪除成功將返回如下結果:
{"acknowledged":true}
管理文檔
建立單個文檔。
在索引lindorm_search中,建立ID為1的文檔。
curl -XPOST "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/1" -u <username>:<password> -H 'Content-Type: application/json' -d ' { "id":100, "name":"shenzhen", "describe":"just a test" }'
建立多個文檔。
在索引lindorm_search中,建立ID為1和2的兩個文檔。
curl -XPOST "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/_bulk" -u <username>:<password> -H 'Content-Type: application/json' -d' { "index" : { "_index": "lindorm_search", "_type" : "_doc", "_id" : "1" } } {"id":200,"name":"shanghai","describe":"just"} { "index" : { "_index": "lindorm_search", "_type" : "_doc", "_id" : "2" } } {"id":300,"name":"beijing","describe":"dood luck"} '
搜尋文檔。
搜尋ID為1的文檔。
curl -XGET "http://ld-t4n5668xk31ui****-proxy-search-public.lindorm.rds.aliyuncs.com:30070/lindorm_search/_doc/1?pretty" -u <username>:<password>
返回結果如下:
{ "_index" : "lindorm_search", "_id" : "1", "_version" : 1, "_seq_no" : 0, "_primary_term" : 1, "found" : true, "_source" : { "id" : 100, "name" : "shenzhen", "describe" : "just a test" } }