เพิ่มฟิลด์ที่กำหนดเองพร้อมอาร์เรย์หลายมิติลงในดัชนีการค้นหา solr

ตามบทช่วยสอนนี้ ฉันพยายามเพิ่มฟิลด์ที่กำหนดเอง (พร้อมอาร์เรย์หลายมิติ) ลงในดัชนีการค้นหา solr http://msankhala.wordpress.com/2012/12/14/drupal-7-apache-solr-add-custom-field-to-solr-search-index/

ฉันมีอาร์เรย์ เรียก $array กันดีกว่า

print_f($array);
Array
(
    [currency] => USD
    [rates] => Array
        (
            [0] => Array
                (
                    [start] => 2006-11-29
                    [end] => 2007-11-05
                    [pricing] => Array
                        (
                            [monthly] => 7955
                            [anually] => 265000
                        )

                )

        )

    [tax] => 10
)

//ขอแบบสอบถาม apache solr

function search_engine_apachesolr_index_document_build(ApacheSolrDocument $document, $entity, $entity_type, $env_id) {
    $array= get_price($entity->nid);
    $document->setMultiValue('sm_price', $array);
}

function search_engine_apachesolr_query_prepare($query) {
    $query->addParam('fl', 'sm_price');
}

แต่ผลลัพธ์ที่ฉันได้รับจาก solr เท่านั้น:

<arr name="sm_price">
    <str/>
</arr>

เนื้อหาอยู่ที่ไหน? เหตุใดอาร์เรย์ของฉันจึงไม่ปรากฏในผลลัพธ์ ฉันหวังว่าฉันจะได้รับวิธีแก้ปัญหาที่นี่ :)

ขอบคุณ,


person Rijalul fikri    schedule 07.02.2014    source แหล่งที่มา


คำตอบ (1)


ปัจจุบัน Solr ไม่รองรับฟิลด์อาร์เรย์หลายมิติ มีการสนทนามากมายที่คุณสามารถหาได้ใน Google เกี่ยวกับเรื่องนี้ ฟิลด์แม้แต่ multivalued ใน Solr จะให้อาร์เรย์แบบง่ายแก่คุณ

  1. คุณสามารถจัดเก็บข้อมูลอาร์เรย์หลายมิติของคุณเป็นสตริงในช่องได้ (แม้จะอยู่ในช่องที่มีหลายค่าก็ตาม) หลังจากนั้นคุณสามารถแยกวิเคราะห์ได้ในแอปพลิเคชันของคุณ
  2. หรือคุณสามารถออกแบบอาร์เรย์หลายมิติในลักษณะดังกล่าว เพื่อให้คุณสามารถจัดเก็บไว้ในฟิลด์ที่มีอยู่ใน solr
person buddy86    schedule 07.02.2014
comment
ใช่ หลังจากค้นหาไปสักพัก ตอนนี้ดูเหมือนจะเป็นไปไม่ได้ :-/ ขอบคุณ - person Rijalul fikri; 12.02.2014