में कई रिश्तों के लिए कई मुझे पता है कि लोचदार खोज में, हमारे पास दस्तावेजों के बीच child/parent relationships हो सकता है।elasticsearch
और तब, जब का अनुक्रमण, मैं पैरेंट आईडी ताकि बच्चे और माता पिता के दस्तावेजों से जुड़े हुए हैं पारित कर सकते हैं:
$ curl -XPUT localhost:9200/blogs/blog_tag/1122?parent=1111 -d '{ "tag" : "something"}'
वहाँ वैसे भी elasticsearch में कई रिश्ते के लिए कई मॉडल करने के लिए है?
डाटा है निम्न स्कीमा के साथ एक MySQL डेटाबेस में रहता है:
account
========
id
name
some_property
group
========
id
name
description
account_group
=============
account_id
group_id
primary_group //This is 1 or 0 depending on whether the group is the primary group for that account.
यह वह जगह है वर्तमान में account
के लिए मेरे मानचित्रण (कृपया सरणी संकेतन बहाना, मैं PHP में Elastica उपयोग कर रहा हूँ मेरी elasticsearch सर्वर से बात करने के लिए) :
**Mapping for account**
'name' => array(
'type' => 'string'),
'some_property' => array(
'type' => 'string'),
'groups' => array(
'properties' => array(
'id' => array('type' => 'integer'),
'primary' => array('type' => 'boolean')
)
),
**Mapping for group**
'name' => array(
'type' => 'string'),
'description'=> array(
'type' => 'string')
इस दृष्टिकोण के साथ समस्या यह है कि यदि एक समूह सूचकांक से हटा दिया जाता है, मैं प्रत्येक खाते के माध्यम से जाने के लिए और प्रत्येक खाते से समूह आईडी हटाने की आवश्यकता होगी है। यह मेरे लिए थोड़ा अक्षम लगता है। मैं यह भी मानता हूं कि लोचदार खोज के बच्चे/अभिभावक संबंधों का उपयोग करते समय यह कोई मुद्दा नहीं होगा।
क्या लोचदार खोज में कई से अधिक रिश्तों को मॉडल करने के लिए वैसे भी है?