การค้นหาไม่ส่งคืนผลลัพธ์


9

ตามที่อธิบายไว้ในชื่อเรื่องแล้วฉันจะไม่ได้รับผลลัพธ์ใด ๆ เมื่อฉันค้นหาผลิตภัณฑ์ ฉันลองมาแล้ว:

  1. ตรวจสอบการมองเห็นของผลิตภัณฑ์
  2. สินค้าของฉันอยู่ในสต็อก
  3. ฉันยังได้กำหนดจำนวนเป็น 100 เพื่อให้แน่ใจ
  4. ฉันได้อัปเดตคุณลักษณะของผลิตภัณฑ์ภายใต้แค็ตตาล็อก -> จัดการผลิตภัณฑ์ -> เลือกผลิตภัณฑ์ทั้งหมด
  5. ฉันกำหนดผลิตภัณฑ์ทั้งหมดในเว็บไซต์หลักเพื่อดูร้านค้าของฉัน
  6. แอ็ตทริบิวต์ name สามารถใช้สำหรับการค้นหา

ฉันยังพยายามค้นหาด้วยskuแต่ไม่มีอะไรเกิดขึ้นอีก สิ่งที่แปลกคือการค้นหาขั้นสูงที่มีทั้งชื่อและskuผลงาน

และปัญหาของฉันยังคงอยู่ .. แนวคิดใด ๆ เกี่ยวกับวิธีทำให้ผลิตภัณฑ์ของฉันปรากฏเมื่อค้นหา?


ไม่ว่าจะง่ายหรือกำหนดค่าได้? คุณทำดัชนีใหม่หรือไม่
Shyam Krishna Sreekumar

ฉันมี 2 ผลิตภัณฑ์ที่เรียบง่ายและส่วนที่เหลือสามารถกำหนดค่าได้ ฉันทำดัชนีซ้ำหลายครั้งแล้ว
vasilisdmr

ผลิตภัณฑ์มองเห็นได้ในแคตตาล็อกหรือไม่?
Milan Simek

คุณหมายถึงอะไร? คุณหมายถึงถ้าฉันสามารถเห็นพวกเขาภายใต้แค็ตตาล็อก -> จัดการผลิตภัณฑ์? หากนั่นคือคำถามของคุณใช่แล้วฉันจะเห็นพวกเขา
vasilisdmr

ฉันหมายถึงพวกเขาจะมองเห็นได้เมื่อเรียกดูแคตตาล็อกในส่วนหน้า?
Milan Simek

คำตอบ:


9

เปิดไฟล์ของคุณMage_CatalogSearch_Model_Layerและวิธีการ

public function prepareProductCollection($collection)

ก่อน return $this;

เพิ่มแถวต่อไปนี้:

Mage::log($collection->getSelectSQL(1), false, 'search.log', true);
Mage::log((array)Mage::getConfig()->getNode()->global->models->catalogsearch, false, 'search.log', true)

(สำหรับการแก้ปัญหาเพื่อทำความเข้าใจปัญหาของคุณ)

จากนั้นเปิดvar/log/search.logและนำผลลัพธ์ของคุณไปยังโพสต์แรกของคุณ (ควรมีคิวรี SQL แบบยาวและอาร์เรย์ที่เราสามารถเห็นการเขียนซ้ำ)


ฉันจะลองในตอนเช้าและบอกผลลัพธ์ให้คุณ
vasilisdmr

5

ฉันเคยเจอสิ่งนี้ การแก้ไขของฉันคือการไปที่Manage Productsและเลือกผลิตภัณฑ์ทั้งหมดและดำเนินการ"Update Attributes"จากแบบเลื่อนลงด้านบนตาราง ในหน้าจออัปเดตแอททริบิวให้เลื่อนไปที่Websitesแท็บและเชื่อมโยงกับเว็บไซต์ที่เหมาะสมอีกครั้งโดยทำเครื่องหมายที่ช่องทำเครื่องหมายด้านAdd Products To Websiteล่าง

หลังจากนี้อาจต้องสร้างดัชนีการค้นหาใหม่อีกครั้ง


ฉันมีปัญหานี้ด้วยและอัปเดตแอตทริบิวต์นั้นใช้ได้สำหรับฉัน
Paul Donnelly

อ่านจุด. # 4 และ # 5 เขาได้ทำไปแล้วและผลิตภัณฑ์ของเขาได้รับมอบหมายในเว็บไซต์ที่จำเป็น
zhartaunik

@zhartaunik ใน # 4 OP ไม่ได้ระบุแอตทริบิวต์ที่แก้ไขและใน # 5 OP ใช้คำว่า "มุมมองร้านค้า" ซึ่งแตกต่างจาก "เว็บไซต์"
John Orman

ฉันจะลองดูสักพัก
vasilisdmr

ฉันลองแล้วไม่มีอะไรฉันจำได้ว่าฉันทำอย่างนั้นอีกครั้งและได้เหมือนกันไม่มีอะไรตอบแทน
vasilisdmr

3

ไปที่

admin->attributs->manage attribute-> search sku - open it -> Frontend Properties-> Use in Quick Search (YES )

ใช้ในการค้นหาขั้นสูง (YES) แค่นั้นแหละ.


ฉันทำไปแล้วแต่ไม่มีอะไรเกิดขึ้น
vasilisdmr

2

คุณสร้างโมดูลภายนอกที่ต้องการโดยใช้การค้นหาหรือไม่ ดูไฟล์เลย์เอาต์เพื่อหาสิ่งนี้

<mdg_giftregistry_search_index>
    <reference name="content">
        <block name="giftregistry.search" type="core/template" template="mdg/search.phtml" as="giftregistry_search"/>
    </reference>
</mdg_giftregistry_search_index>

ฉันไม่ได้ใช้โมดูลภายนอกที่ต้องการการค้นหา
vasilisdmr

2

ความเป็นไปได้อีกอย่างหนึ่งที่เหมาะกับฉันก็คือการสร้างดัชนีข้อมูลใหม่ !

ในการทำเช่นนี้ไปที่แผงผู้ดูแลระบบ> ระบบ> การจัดการดัชนีคลิก "เลือกทั้งหมด" ในช่อง "การกระทำ" เลือก "ทำดัชนีข้อมูลซ้ำ" และคลิก "ส่ง"

=)

สันติภาพ!



1

คุณสามารถดีบั๊กคอลเลกชันวัตถุในคลาส Mage_CatalogSearch_Model_Layer ใต้ funtion

public function getProductCollection()
    {
        if (isset($this->_productCollections[$this->getCurrentCategory()->getId()])) {
            $collection = $this->_productCollections[$this->getCurrentCategory()->getId()];
        } else {
            $collection = Mage::getResourceModel('catalogsearch/fulltext_collection');
            $this->prepareProductCollection($collection);
            $this->_productCollections[$this->getCurrentCategory()->getId()] = $collection;
        }

echo $ collection-> getSelect (); die ('test');

        return $collection;
    }

ข้อมูลโค้ดนี้ฉันต้องวางไว้ที่ไหน
vasilisdmr

app / code / core / Mage / CatalogSearch / Model / Layer.php หลังจากบรรทัดที่ 44 echo $ collection-> getSelect (); die ('test');
Sanji

และผลลัพธ์จะเป็นอย่างไร ฉันหมายถึงฉันจะดูว่ามีการเพิ่มผลิตภัณฑ์ในการรวบรวม $ หรือไม่
vasilisdmr

1

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


ฉันจะทำอย่างนั้นและจะแจ้งให้คุณทราบ
vasilisdmr

คุณสามารถทำแคชรีเฟรชดัชนี? มันต้องการสิ่งนี้
Pratik Kamani

localhost /.../ index.php / catalogsearch / ลองขั้นสูงลองใส่ลิงค์ไซต์ของคุณและหลังจากนั้น catalogsearch / advanced / ถ้าคุณได้รับเบาะแสใด ๆ
Pratik Kamani

0

ฉันมีปัญหาเดียวกัน & ฉันลองทำตามคำแนะนำทั้งหมดข้างต้น & ไม่มีข้อใดเลยที่ได้ผลดังนั้นฉันจึงทำการค้นหา google ในแต่ละประเด็นของฉัน & ไม่มีอะไรเลยฉัน Googled วิธีทำให้ผลิตภัณฑ์ของฉันสามารถค้นหาได้ใน Magento store & ฉันเจอ " คำค้นหา "ซึ่งตั้งอยู่ในแคตตาล็อก แต่ไม่แคตตาล็อกในการกำหนดค่าระบบ แต่แคตตาล็อกเมื่อคุณเพิ่มใหม่หรือแก้ไขผลิตภัณฑ์ ในคำค้นหาคุณเพิ่มชื่อที่คุณต้องการให้การค้นหานั้น & ในการเปลี่ยนเส้นทางคุณใส่ที่อยู่ URL ทั้งหมดของผลิตภัณฑ์หรือผลิตภัณฑ์ที่คุณต้องการให้มีชื่อนั้น ฉันขายของเล่นทางเพศดังนั้นตัวอย่างเช่นฉันพิมพ์ในส่วนการค้นหาของ Magento Vibrator และไม่มีใครจะมาถึงแม้ว่าฉันจะมีรูปแบบต่าง ๆ มากมายดังนั้นฉันจึงสร้างคำค้นหาชื่อ Vibrator & คัดลอก URL จากหมวดเครื่องสั่น &


0

ฉันมีปัญหานี้เช่นกัน

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

  • วิธีนี้ใช้ได้ผลกับฉัน แต่ฉันมีผลิตภัณฑ์หลายพันตัวและใช้เวลาหลายวันกว่าจะเสร็จ มีวิธีอื่นในการทำสิ่งนี้หรือคำสั่งฐานข้อมูลที่ฉันสามารถใช้เพื่อทำสิ่งนี้ได้หรือไม่? ขอบคุณ

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

-5

ฉันถือว่าคุณได้ติดตามความคิดเห็นทั้งหมดข้างต้นนอกเหนือจากนั้นโปรดทำตามสิ่งต่อไปนี้ด้วย:

  1. ขั้นแรกให้แน่ใจว่าคุณมีเวลาดำเนินการสูงสุดเขียนใน index.php ini_set('max_execution_time', 1800)หรือตั้งไว้ใน php.inimax_execution_time= 1600
  2. เพิ่มขีด จำกัด หน่วยความจำ ini_set('memory_limit','512M')หรือตั้งเป็น php.inimemory_limit=16M

16M จะอ้างถึงการเพิ่มขึ้นได้อย่างไร ... วีโอไอพีคือ 256 / 512M ... การตอบสนองสแปม
FlorinelChis

ขออภัยแก้ไขมัน
magegaga.com
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.