Document検索
- 印刷する
- PDF
Document検索
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
インデックス別に作成したDocumentに対して検索を実行します。
該当リクエストを実行する前にDomain作成及びDocument作成が必要です。
- 検索サービス構成のためには検索基本知識が必要です。
- サービスを作成する時に設定したSchemaで検索実行
- JSON形式のqueryDSLを使用
POST https://cloudsearch.apigw.ntruss.com/CloudSearch/real/v1/domain/{name}/document/search
リクエスト
リクエストパラメータ
パラメータ名 | 必須 | タイプ | 制約事項 | 説明 |
---|---|---|---|---|
name | Yes | string | 作成されているDomain名 |
overview
Search Queryに対する詳しい例題はCloud Search使用ガイド - Search Query使用ガイドをご参考ください。
{
"search": {
"start": (string|int),
"display": (string|int),
"result_format": (string),
"search": {
"[index_name]": {
"[query_method]": [{
"query": (string),
"name": (string),
"type": (string),
"option": (string|bool),
"ratio": (string|double),
"term_extractor": (string),
"stopword": (string)
}]
}
},
"sort": {
"[sort_target]": (string)
},
"scope": {
"[scope_target]": {
"[scope_method]": (string|int|double|array)
}
},
"key_scope": {
"[scope_method]": (string|array)
},
"user_scope": (string),
"highlighting": {
"enable": (string|bool),
"pre_tag": (string),
"post_tag": (string),
"[highlighting_option]": (string|bool)
},
"display_section": (string|array),
"passage": {
"[section_name]": {
"passage_type": (string),
"passage_option": (string),
"max_length": (string)
},
},
"aggregate": {
"[docprop_name]": {
"max": (string),
"min": (string),
"one": (string),
"sum": (string)
}
},
"result_processing": {
"[section_name]": {
"remove_duplicate": (string|bool)
}
},
"setting": {
"transfer_timeout": (string|int),
"search_timeout": (string|int),
"use_df": (string|bool),
"reuse_term_extractor": (string|bool),
"log_level": (string|list),
}
},
"ip_str": (string)
}
リクエストボディ
フィールド名 | 必須 | タイプ | 制約事項 | 説明 |
---|---|---|---|---|
start | No | String, Integer | default : 1 | 検索結果の開始Ranking |
display | No | String, Integer | default : 20 | 検索結果の個数 |
result_format | No | String | json | 検索結果のフォーマット指定、現在はjsonフォーマットのみサポートします。 |
index_name | Yes | String | 既存作成されたインデックス の中で選択 | 検索するインデックス名 |
queryList | Yes | List<SearchQuery> | SearchQuery.query_methodが"main"であるSearchQueryを必ず含む | 検索リクエストクエリ |
sort | No | Object | 検索結果のソート基準を持つMap形式のObject | |
scope | No | List<SearchScope> | 制限検索設定リスト | |
key_scope | No | Object | 制限検索を設定するMap形式のObject | |
user_scope | No | String | Rankingコード形式の数式 | ユーザが直接scope数式を入力、入力された数式は'scope'パラメータの内容とand条件で追加されます。 |
highlighting | No | SearchHighlighting | Default: true | 検索結果構文強調設定 |
display_section | No | String, Array | 既存作成したセクションの中で選択 | 検索結果として見せるセクションを指定(指定しない場合、すべてのセクションデータ出力) 例 : 価格と名称のみを結果として出力したい場合、 "price, name" 例 : ブランドと名称を一つの結果として出力したい場合、 "brand+name" |
passage | No | List<SearchPassage> | 検索結果抽出方式設定 | |
aggregate | No | List<SearchAggregate> | 検索結果要約設定リスト | |
result_processing | No | SearchResultProcessing | 検索結果の後処理設定 | |
setting | No | SearchSetting | 検索する時、その他環境設定 | |
ip_str | No | String | IP type formatである必要がある。 例 : 10.78.140.200 |
レスポンス
フィールド名 | タイプ | 説明 | 備考 |
---|---|---|---|
type | string | レスポンスタイプ | |
version | string | ||
status | number | レスポンスステータス | |
message | string | エラーメッセージ | レスポンス結果がエラーの場合出力 |
time_zone | string | タイムゾーン | |
elapsed_time | number | 検索する時にかかった時間 | |
term | object | 問い合わせ内容 | index_name及びSearhchQueryの内容がmappingされたobject |
result | object | 検索結果 | |
result.start | number | 検索結果の開始Ranking | default : 1 |
result.display | number | 検索結果の個数 | default : 20 |
result.ranking | string | Ranking方式 | "clous" |
result.sort_by | string | Ranking基準 | default : "qds" |
result.total_count | number | 全体検索結果 | |
result.removed_count | number | 削除された検索結果 | |
result.item_count | number | 検索結果数 | |
result.items | Array | 検索されたDocument | Document作成時に作成したrequest[].contentデータと検索情報を含むlist |
result.items[]._rank | number | 検索Ranking | |
result.items[]._key | string | Documentのprimary key | |
result.items[]._qds | number | 検索queryと該当Documentの一致程度 |
レスポンスStatus
HTTP Status | Desc |
---|---|
200 | OK(検索完了) |
200 | No collection founded, insert document please |
400 | Bad Request |
401 | Unauthorized |
401 | there is no such service |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
リクエスト例示
例示で使われるDocumentは検索サービス作成例題と同じです。
一般検索リクエスト例示(検索語"Hyundai")
POST https://cloudsearch.apigw.ntruss.com/CloudSearch/real/v1/domain/car_dev/document/search
POST /CloudSearch/real/v1/domain/car_dev/document/manage HTTP/1.1
Host:cloudsearch.apigw.ntruss.com
accept:application/json
x-ncp-apigw-signature-v2: cDwtHuQeGmwWyNmwlN6XIGA66zge4iMXvfoDQNna05g=
x-ncp-apigw-timestamp: 1545817618751
x-ncp-iam-access-key: teGTwtcSEGA7fu28BGGi
{
"search": {
"brand_name": {
"main": {
"query": "Hyundai"
}
}
},
"ip_str": "10.78.140.200"
}
レスポンス例示
{
"version": "1.3.0",
"status": 200,
"type": "response",
"time_zone": "+09:00",
"elapsed_time": 0.000521,
"term": {
"brand_name": {
"main": {
"term_count": 1,
"term_list": [
"Hyundai"
]
}
}
},
"result": {
"start": 1,
"display": 20,
"ranking": "clous",
"sort_by": "qds",
"total_count": 2,
"removed_count": 0,
"item_count": 2,
"items": [
{
"_rank": 1,
"_key": "car-10001",
"_qds": 0.8729686141014099,
"brand": "<b>Hyundai</b>",
"docid": "car-10001",
"name": "2018 Santafe",
"price": 2815,
"type": "中型"
},
{
"_rank": 2,
"_key": "car-10002",
"_qds": 0.8729686141014099,
"brand": "<b>Hyundai</b>",
"docid": "car-10002",
"name": "2018 Grandure",
"price": 2615,
"type": "中型"
}
]
}
}
ストップワード検索 リクエスト例示(検索語"Hyundaiとchevrolet")
ストップワード例示(rule name: "josa")
{
"type": "filter",
"word_list": [
"은", "는", "이", "가", "을", "를", "의", "와"
// 上記の文字は韓国語の助詞と接続詞であり、その意味は以下のようである。
// 은(は), 는(は), 이(が), 가(が), 을(を), 를(を), 의(の), 와(と)
// もし、日本語の助詞と接続詞を活用するのであれば、上記の内容を以下の内容に入れ替えれば活用可能
// "は", "が", "を", "の", "と"
]
}
検索語とマッチングされるすべての単語を探すためには "or" optionが必要です。
POST https://cloudsearch.apigw.ntruss.com/CloudSearch/real/v1/domain/car_dev/document/search
POST /CloudSearch/real/v1/domain/car_dev/document/manage HTTP/1.1
Host:cloudsearch.apigw.ntruss.com
accept:application/json
x-ncp-apigw-signature-v2: cDwtHuQeGmwWyNmwlN6XIGA66zge4iMXvfoDQNna05g=
x-ncp-apigw-timestamp: 1545817618751
x-ncp-iam-access-key: teGTwtcSEGA7fu28BGGi
{
"search": {
"brand_name": {
"main": {
"query": "Hyundaiとchevrolet",
"option":"or",
"stopword":"josa"
}
}
}
}
レスポンス例示
{
"version": "1.3.0",
"status": 200,
"type": "response",
"time_zone": "+09:00",
"elapsed_time": 0.000517,
"term": {
"brand_name": {
"main": {
"term_count": 2,
"term_list": [
"chevrolet",
"Hyundai"
]
}
}
},
"result": {
"start": 1,
"display": 20,
"ranking": "clous",
"sort_by": "qds",
"total_count": 3,
"removed_count": 0,
"item_count": 3,
"items": [
{
"_rank": 1,
"_key": "car-10001",
"_qds": 0.8729686141014099,
"brand": "<b>Hyundai</b>",
"docid": "car-10001",
"name": "2018 Santafe",
"price": 2815,
"type": "中型"
},
{
"_rank": 2,
"_key": "car-10002",
"_qds": 0.8729686141014099,
"brand": "<b>Hyundai</b>",
"docid": "car-10002",
"name": "2018 Grandure",
"price": 2615,
"type": "中型"
},
{
"_rank": 3,
"_key": "car-3",
"_qds": 0.8707408308982849,
"brand": "<b>chevrolet</b>",
"docid": "car-3",
"name": "2018 Malibu",
"price": 2388,
"type": "中型"
}
]
}
}
この記事は役に立ちましたか?