Tambahkan bidang khusus dengan array multidimensi ke dalam indeks pencarian solr

berdasarkan tutorial ini, saya mencoba menambahkan bidang khusus (dengan array multidimensi) ke dalam indeks pencarian solr http://msankhala.wordpress.com/2012/12/14/drupal-7-apache-solr-add-custom-field-to-solr-search-index/

Saya punya array, sebut saja $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
)

//mengaitkan kueri 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');
}

tetapi ada hasil yang saya dapatkan dari solr saja:

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

mana isinya? mengapa array saya tidak muncul di hasil? Saya harap, saya bisa mendapatkan solusi di sini :)

Terima kasih,


person Rijalul fikri    schedule 07.02.2014    source sumber


Jawaban (1)


Saat ini Solr tidak mendukung bidang array multidimensi. Ada banyak diskusi yang dapat Anda temukan di Google mengenai hal ini. Bahkan bidang multivalued di Solr memberi Anda array sederhana.

  1. Anda dapat menyimpan data array multidimensi sebagai string dalam suatu bidang (bahkan dalam bidang multinilai). Nanti Anda bisa menguraikannya di aplikasi Anda.
  2. Atau Anda bisa mendesain array multidimensi Anda sedemikian rupa, sehingga Anda bisa menyimpannya di kolom yang tersedia di solr.
person buddy86    schedule 07.02.2014
comment
ya setelah mencari-cari, sepertinya tidak mungkin untuk saat ini :-/. terima kasih - person Rijalul fikri; 12.02.2014