カスタムソースコンテンツおよびドキュメントの取得方法

私はEnterpriseSearchをオンプレミス環境にインストールし、WorkplaceSearchを利用しています。

一度登録したドキュメントのIDを知るにはどのようにしたらよいでしょうか?
登録したドキュメントを編集するにはドキュメントIDが必要なようですが、管理者ページから知る術がありません。

実際に、私は下記のURLの例に従って、ドキュメントを登録しました。

管理者ページからはソースコンテンツとして登録したドキュメントが確認できますが、IDは確認できません。

下記のURLのようにして、ドキュメントのIDを取得できると考えているのですが、正しい取得方法が分かりません。

# curl -X GET http://localhost:3002/api/ws/v1/sources/[CONTENT_SOURCE_ID]/external_identities \
> -H "Authorization: Bearer [ACCESS_TOKEN]"
{"errors":["This feature is only available for Workplace Search deployments running against an Elasticsearch cluster with a valid Trial or Platinum license applied. For more information, visit the Enterprise Search licensing reference at https://www.elastic.co/pricing/."]}

カスタムソースコンテンツにおけるコンテンツの取得、ドキュメントの取得方法を教えてください。

コンテンツソースの一覧(コンテンツソースのID)を取得する方法が分かりましたので共有します。

まず、EnterpriseSearch7.13より古いバージョンを使っている場合は7.13にアップグレードしてください。
コンテンツソースの取得方法は7.13で追加された機能のようです。

上記URLによると、コンテンツソース一覧は下記のコマンドで取得できます。($PASSWORD はEnterpriseSearchのパスワードです)

# curl -u enterprise_search:$PASSWORD -X GET http://localhost:3002/api/ws/v1/sources

{"meta":{"page":{"current":1, "total_pages":1, "total_results":18, "size":25}}, "results":[{... snip ... , "name": "test", "context": "organization", "is_searchable":true, "schema":{"created_at": "text", "title": "text", "body": "text", "type":" text", "url": "text"}, "display":{"title_field": "title", "subtitle_field": "url", "description_field": "body", "url_field": "url", "detail_ fields":[{"field_name": "url", "label": "URL"}], "color": "#000000"}, "document_count":1, "last_indexed_at": "2021-06-10T09:58:14+00:00 "},... .snip...

なお、同URLで、コンテンツソースを取得する方法が掲載されていますが、これはドキュメントのIDは取得できません。
$CONTENT_SOURCE_ID$ACCESS_TOKENContent Sources > OverviewCREDENTIALSを使用します。)

# curl \
--request 'GET' \
--url "https://f3fae9ab3e4f423d9d345979331ef3a1.ent-search.us-east-1.aws.cloud.es.io/api/ws/v1/sources/$CONTENT_SOURCE_ID" \
--header "Authorization: Bearer $ACCESS_TOKEN"

{"id":$CONTENT_SOURCE_ID,"service_type":"custom","created_at":"2021-06-10T09:56:26+00:00","last_updated_at":"2021-06-10T09:59:42+00:00","is_remote":false,"details":[],"groups":[{"id":"60acc08084c21247b452c8d9","name":"Default"}],"name":"test","context":"organization","is_searchable":true,"schema":{"created_at":"text","title":"text","body":"text","type":"text","url":"text"},"display":{"title_field":"title","subtitle_field":"url","description_field":"body","url_field":"url","detail_fields":[{"field_name":"url","label":"URL"}],"color":"#000000"},"document_count":1,"last_indexed_at":"2021-06-10T09:58:14+00:00"}

ドキュメントのIDを取得する方法を教えてください。

ドキュメントIDを取得する方法は以下のようです。

$ curl -X POST http://localhost:3002/api/ws/v1/search \
-u "[USERNAME]:[REDACTED]" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "query": "denali"
}'

ただし、このコマンドを実行するためにはプラチナ以上のライセンスが必要です。
私はベーシックライセンスしか保有していないので、このコマンドからドキュメントIDが得られることを確認できていません。
(何も値を返しません)

もしベーシックライセンスでカスタムコンテンツソースを使用する場合は、登録時のドキュメントIDを何らかの方法で控えておく必要があります。

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.