ピン留めされたクエリ

選択されたドキュメントを、特定のクエリに一致するものよりも高いランクに昇格させます。この機能は、検索者をキュレーションされたドキュメントに誘導するために通常使用され、検索の「オーガニック」な一致よりも優先されます。昇格または「ピン留め」されたドキュメントは、_id フィールドに保存されたドキュメントIDを使用して特定されます。

リクエストの例

Python

  1. resp = client.search(
  2. query={
  3. "pinned": {
  4. "ids": [
  5. "1",
  6. "4",
  7. "100"
  8. ],
  9. "organic": {
  10. "match": {
  11. "description": "iphone"
  12. }
  13. }
  14. }
  15. },
  16. )
  17. print(resp)

Ruby

  1. response = client.search(
  2. body: {
  3. query: {
  4. pinned: {
  5. ids: [
  6. '1',
  7. '4',
  8. '100'
  9. ],
  10. organic: {
  11. match: {
  12. description: 'iphone'
  13. }
  14. }
  15. }
  16. }
  17. }
  18. )
  19. puts response

Js

  1. const response = await client.search({
  2. query: {
  3. pinned: {
  4. ids: ["1", "4", "100"],
  5. organic: {
  6. match: {
  7. description: "iphone",
  8. },
  9. },
  10. },
  11. },
  12. });
  13. console.log(response);

コンソール

  1. GET /_search
  2. {
  3. "query": {
  4. "pinned": {
  5. "ids": [ "1", "4", "100" ],
  6. "organic": {
  7. "match": {
  8. "description": "iphone"
  9. }
  10. }
  11. }
  12. }
  13. }

ピン留めされたためのトップレベルパラメータ

  • ids
  • (オプション、配列)結果に表示される順序でリストされたドキュメントIDdocsが指定されていない場合は必須です。
  • docs
  • (オプション、配列)結果に表示される順序でリストされたドキュメント。idsが指定されていない場合は必須です。各ドキュメントに対して次の属性を指定できます:
    • _id
    • (必須、文字列)ユニークなドキュメントID
    • _index
    • (オプション、文字列)ドキュメントを含むインデックス。
  • organic
  • 「ピン留め」されたドキュメントの下にランク付けされるドキュメントをランク付けするために使用される任意のクエリ。

特定のインデックス内のドキュメントをピン留めする

複数のインデックスを検索している場合、docsを使用して特定のインデックス内のドキュメントをピン留めできます。

Python

  1. resp = client.search(
  2. query={
  3. "pinned": {
  4. "docs": [
  5. {
  6. "_index": "my-index-000001",
  7. "_id": "1"
  8. },
  9. {
  10. "_id": "4"
  11. }
  12. ],
  13. "organic": {
  14. "match": {
  15. "description": "iphone"
  16. }
  17. }
  18. }
  19. },
  20. )
  21. print(resp)

Ruby

  1. response = client.search(
  2. body: {
  3. query: {
  4. pinned: {
  5. docs: [
  6. {
  7. _index: 'my-index-000001',
  8. _id: '1'
  9. },
  10. {
  11. _id: '4'
  12. }
  13. ],
  14. organic: {
  15. match: {
  16. description: 'iphone'
  17. }
  18. }
  19. }
  20. }
  21. }
  22. )
  23. puts response

Js

  1. const response = await client.search({
  2. query: {
  3. pinned: {
  4. docs: [
  5. {
  6. _index: "my-index-000001",
  7. _id: "1",
  8. },
  9. {
  10. _id: "4",
  11. },
  12. ],
  13. organic: {
  14. match: {
  15. description: "iphone",
  16. },
  17. },
  18. },
  19. },
  20. });
  21. console.log(response);

コンソール

  1. GET /_search
  2. {
  3. "query": {
  4. "pinned": {
  5. "docs": [
  6. {
  7. "_index": "my-index-000001",
  8. "_id": "1"
  9. },
  10. {
  11. "_id": "4"
  12. }
  13. ],
  14. "organic": {
  15. "match": {
  16. "description": "iphone"
  17. }
  18. }
  19. }
  20. }
  21. }
IDが1のドキュメントは、my-index-000001から最初の結果になります。
_indexが欠けている場合、クエリされたインデックスからIDが4のすべてのドキュメントは同じスコアでピン留めされます。