แง่มุมแบบไดนามิก

ด้านไดนามิกใช้เพื่อสร้างการเลือกช่วงใหม่โดยอัตโนมัติในขณะที่ทำการค้นหา แง่มุมต่างๆ จะถูกรวมแบบไดนามิกตามผลการค้นหา

คุณลักษณะ Dynamic Facets ไม่ได้เปิดใช้งานใน Adobe Search&Promote ตามค่าเริ่มต้น ติดต่อฝ่ายสนับสนุนด้านเทคนิคเพื่อเปิดใช้งานคุณสมบัติสำหรับการใช้งานของคุณ

ในบทช่วยสอนก่อนหน้านี้ เราได้เห็นวิธีเปิดใช้งานแง่มุมคงที่สำหรับผลการค้นหาแล้ว โปรดดูรายละเอียดจากลิงก์ด้านล่าง ขั้นตอนจะเหมือนกันสำหรับด้านไดนามิกที่มีการเปลี่ยนแปลงเล็กน้อย



แง่มุมที่กระจัดกระจายในเว็บไซต์ของคุณและปรากฏเฉพาะสำหรับการค้นหาชุดย่อยเท่านั้นที่เป็นตัวเลือกที่ดีในการสร้างแบบไดนามิก

ในตัวอย่างของเรา ผลิตภัณฑ์ประเภท "นาฬิกา" จะมีแอตทริบิวต์เพิ่มเติมชื่อ "ขนาด" และด้านที่เกี่ยวข้องกับ "ขนาด" จะใช้ได้กับการค้นหาด้วยคำหลัก "นาฬิกา" เท่านั้น

การค้นหาด้วยคำสำคัญ "นาฬิกา" จะแสดงสองด้าน "ประเภทผลิตภัณฑ์" (คงที่) และ "ขนาด" (ไดนามิก) แต่การค้นหาด้วย "หนังสือ" จะแสดงเฉพาะด้าน "ประเภทผลิตภัณฑ์" (คงที่)

การกำหนดค่า Facet แบบไดนามิก

การกำหนดค่าเพิ่มเติมบางอย่างที่จำเป็นในการเปิดใช้งาน Dynamic Facet เมื่อเปรียบเทียบกับ Static Facet (ดูบทแนะนำ Static facet สำหรับการกำหนดค่าพื้นฐาน)

เปิดใช้แอตทริบิวต์ผลิตภัณฑ์เพิ่มเติมในไฟล์ฟีดตามประเภทผลิตภัณฑ์ — แอตทริบิวต์ "ขนาด", "ขนาด" ใช้ได้กับประเภทผลิตภัณฑ์ "นาฬิกา" เท่านั้น

<feed xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0">
 <channel>
  <title>Product Feed</title>
  <Item>
   <link>https://www.example.com/product-title/p/prod1</link>
   <title>
   <![CDATA[Book Prod1 Title]]>
   </title>
   <description>
   <![CDATA[<p>Prod1 description</p>]]>
   </description>
   <productType>Book</productType>
   <ProductId>prod1</ProductId>
   <imageUrl>/content/dam/Images/product/prod1.jpg</imageUrl>
  </Item>
  <Item>
   <link>https://www.example.com/product-title/p/prod2</link> 
   <title>
   <![CDATA[Book Prod2 title]]>
   </title>
   <description>
   <![CDATA[<p>Prod2 description</p>]]>
   </description>
   <productType>Book</productType>
   <ProductId>prod2</ProductId>
   <imageUrl>/content/dam/Images/product/prod2.jpg</imageUrl>
  </Item>
<Item>
   <link>https://www.example.com/product-title/p/prod3</link>
   <title>
   <![CDATA[Watch Prod3 Title]]>
   </title>
   <description>
   <![CDATA[<p>Prod3 description</p>]]>
   </description>
   <productType>Watch</productType>
    <size>10</size>
   <ProductId>prod3</ProductId>
   <imageUrl>/content/dam/Images/product/prod3.jpg</imageUrl>
  </Item>
  <Item>
   <link>https://www.example.com/product-title/p/prod4</link>
   <title>
   <![CDATA[Watch Prod4 Title]]>
   </title>
   <description>
   <![CDATA[<p>Prod4 description</p>]]>
   </description>
   <productType>Watch</productType>
    <size>20</size>
   <ProductId>prod4</ProductId>
   <imageUrl>/content/dam/Images/product/prod4.jpg</imageUrl>
  </Item>
  </channel>
</feed>

สร้างคำจำกัดความเมตาดาต้าใหม่สำหรับฟิลด์ "ขนาด" การตั้งค่า → ข้อมูลเมตา →คำจำกัดความ

เปิดใช้งานตัวเลือก Dynamic Facet สำหรับข้อมูลเมตา

อัปเดตการกำหนดค่า IndexConnector ด้วยช่องข้อมูลเมตาใหม่ "ขนาด" การตั้งค่า → การรวบรวมข้อมูล → ตัวเชื่อมต่อดัชนี

กำหนดค่า facet ด้วยชื่อ “ขนาด” — ไม่มีการตั้งค่า “Dynamic Facet” ใน Facet มีเพียงการกำหนดค่าเท่านั้นที่อยู่ในการกำหนดค่าข้อมูลเมตาพื้นฐาน (เปิดใช้งานแล้ว) การออกแบบ → การนำทาง → Facets

กำหนดค่ากฎการทำความสะอาดแบบสอบถามใหม่ กฎ → การล้างแบบสอบถาม เพื่อตั้งค่าพารามิเตอร์แบ็กเอนด์ “sp_sfvl_df_count” พารามิเตอร์ sp_sfvl_df_count
จะกำหนดจำนวนรวมของฟิลด์ Facet แบบไดนามิกที่จะแสดง

อัปเดตการขนส่งส่วนหลังด้วย Dynamic Facet Support

<search-content-type-header charset="UTF-8">
{ 
 "general": {
        "query" : "<search-query />",  
        "total" : "<search-total />",
        "lower" : "<search-lower />",
        "upper" : "<search-upper />"
},
 "facets" : [
        {
            "name" : "productType",
            "values" : [<search-field-value-list name="productType" quotes="yes"  data="values" sortby="values" encoding="json" />],
            "counts" : [<search-field-value-list name="productType" quotes="no"  data="results" sortby="values" />]
        }<search-dynamic-facet-fields>,
        {
            "name" : "<search-dynamic-facet-field-name>",
            "dynamic-facet" : 1,
            "values" : 
                    [<search-field-value-list quotes="yes" commas="yes" data="values" sortby="values" encoding="json" />],
                    "counts" : [<search-field-value-list quotes="yes" commas="yes" data="results" sortby="values" />]
        }</search-dynamic-facet-fields>
    ],
"results" : [
  <search-results>
  {
   "fields" :
   [
    {
     "name" : "mdi",
     "value" : "<search-display-field name="mdi" length="500"  encoding="json" />"
    },
{
     "name" : "title",
     "value" : "<search-display-field name="title" encoding="json" />"
    },
    {
     "name" : "productType",
     "value" : "<search-display-field name="productType" encoding="json" />"
    },
    {
     "name" : "size",
     "value" : "<search-display-field name="size" encoding="json" />"
    }
            ]  
        } 
        <search-if-not-last>,</search-if-not-last>
  </search-results>
 ]
}

อัพเดตการขนส่งการนำเสนอด้วย Dynamic Facet Support

<guided-content-type-header content="application/json" />
<guided-if-query-param-defined gsname="callback" /><guided-query-param gsname="callback" />(</guided-if-query-param-defined>
    { 
        "general" :
        {
            "query" : "<guided-query-param gsname='q' />",
            "total" : "<guided-results-total />",
            "page_lower" : "<guided-results-lower>",
            "page_upper" : "<guided-results-upper>",
            "page_total": "<guided-page-total/>" 
        },  
        "facets" :
        [
            <guided-zone gsname="Facets_Default">    
                    <guided-facet  gsname="productType" >
                    { 
                        "label" : "<guided-facet-display-name gsname="productType" />",
                        "long" : <guided-if-facet-long>true<guided-else-facet-long>false</guided-if-facet-long>,
                        <guided-if-facet-selected>
                        "selected" : true,
                        "undolink" : "<guided-facet-undo-path gsname="productType" />",
                        </guided-if-facet-selected>
                        "values" : 
                        [
                            <guided-facet-values>
                            {
                                "value" : "<guided-facet-value  escape="ijson">",
                                "selected" : "<guided-if-facet-value-selected>true<guided-else-facet-value-selected>false</guided-if-facet-value-selected>",
                                "count" : "<guided-facet-count>",
                                "link" : "<guided-facet-value-path>",
                                "undolink" : "<guided-facet-value-undo-path>",
                                "threshold" : <guided-if-facet-value-equals-length-threshold>true<guided-else-facet-value-equals-length-threshold>false</guided-if-facet-value-equals-length-threshold>
                            }<guided-if-not-last>,</guided-if-not-last>
                            </guided-facet-values>
                        ] 
                    }
                    </guided-facet>
            </guided-zone>
            <guided-zone gsname="Facets_Dynamic"> 
                 <guided-facet-rail gsname="__dynamic_facets"> 
                      <guided-facet  >
       ,{ 
           "label" : "<guided-facet-display-name  />",
     "long" : <guided-if-facet-long>true<guided-else-facet-long>false</guided-if-facet-long>,
      <guided-if-facet-selected>
          "selected" : true,
    "undolink" : "<guided-facet-undo-path  />",
      </guided-if-facet-selected>
      "values" : 
      [
         <guided-facet-values>
             {
         "value" : "<guided-facet-value  escape="ijson">",
         "selected" : "<guided-if-facet-value-selected>true<guided-else-facet-value-selected>false</guided-if-facet-value-selected>",
          "count" : "<guided-facet-count>",
          "link" : "<guided-facet-value-path>",
          "undolink" : "<guided-facet-value-undo-path>",
          "threshold" : <guided-if-facet-value-equals-length-threshold>true<guided-else-facet-value-equals-length-threshold>false</guided-if-facet-value-equals-length-threshold>
       }<guided-if-not-last>,</guided-if-not-last>
        </guided-facet-values>
        ] 
    }
                </guided-facet> 
     </guided-facet-rail> 
  </guided-zone>  
        ],
        "results" :
        [     
            <guided-results gsname="default">
            {
                "index" : "<guided-result-index />",
                "title" : "<guided-result-field gsname="title" escape="ijson" />",
                "productType" : "<guided-result-field gsname="productType" escape="ijson" />",
                "size" : "<guided-result-field gsname="size" escape="ijson" />"
                         
                
            }<guided-if-not-last>,</guided-if-not-last>
            </guided-results>
        ]
    } 
<guided-if-query-param-defined gsname="callback">)</guided-if-query-param-defined>

การกำหนดค่าพร้อมแล้ว ให้เราเรียกใช้การสร้างดัชนี Stage เลย (โปรดทราบว่าการกำหนดค่ายังไม่ถูกพุชให้ใช้งานจริง)

ดัชนี → ดัชนีเต็ม → ดัชนีตามขั้นตอน → เรียกใช้ดัชนีแบบเต็ม

เข้าถึง http://stage-xxxxxxxxxxx.guided.ss-omtrdc.net/do=json&sp_staged=1&sp_q=ดู

xxxxxxxxxxx — ค้นหาและโปรโมตหมายเลขบัญชี

ซึ่งจะตอบสนองด้วยข้อมูล JSON ซึ่งมีรายละเอียดด้านสแตติก ไดนามิก และข้อมูลเมตาที่จำเป็น

{
  "general": {
    "query": "",
    "total": "2",
    "page_lower": "1",
    "page_upper": "2",
    "page_total": "1"
  },
  "facets": [
    {
      "label": "productType",
      "long": false,
      "values": [
        {
          "value": "Watch",
          "selected": "false",
          "count": "2",
          "link": "?do=json;i=1;q1=Watch;sp_q=Watch;sp_staged=1;x1=productType",
          "undolink": "",
          "threshold": false
        }
      ]
    },
    {
      "label": "size",
      "long": false,
      "values": [
        {
          "value": "10",
          "selected": "false",
          "count": "1",
          "link": "?do=json;i=1;q1=10;sp_q=Watch;sp_staged=1;x1=size",
          "undolink": "",
          "threshold": false
        },
        {
          "value": "20",
          "selected": "false",
          "count": "1",
          "link": "?do=json;i=1;q1=20;sp_q=Watch;sp_staged=1;x1=size",
          "undolink": "",
          "threshold": false
        }
      ]
    }
  ],
  "results": [
    {
      "index": "",
      "title": "Watch Prod3 Title",
      "productType": "Watch",
      "size": "10"
    },
    {
      "index": "",
      "title": "Watch Prod4 Title",
      "productType": "Watch",
      "size": "20"
    }
  ]
}

สามารถพุชการกำหนดค่าแบบสดได้หลังจากการตรวจสอบความถูกต้องสำเร็จ และเรียกใช้ดัชนีสด → ดัชนีเต็ม → ดัชนีสด → เรียกใช้ดัชนีแบบเต็ม

URL เพื่อเข้าถึงข้อมูลสด http://xxxxxxxxxxx.guided.ss-omtrdc.net/do=json&sp_q=รับชม

ข้อมูลประกอบในการตอบกลับสามารถใช้เพื่อนำเสนอตัวเลือกการกรองแก่ผู้ใช้ เพื่อจำกัดการค้นหาเว็บไซต์ให้แคบลง ตัวเลือก Dynamic Facet เปิดใช้งาน facet ตามข้อมูลการค้นหา

เผยแพร่ครั้งแรกที่ https://www.albinsblog.com