afaik se da i na nested fieldu udelat index (nezkousel sem, negugloval sem, mazu se ahoj)
----- 'aknerats'[::-1] On Dec 6, 2017 18:20, "Vláďa Macek" <[email protected]> wrote: > Čau Honzo, > > díky. > > Nevylučuju nedostatečný návrh a rád se inspiruju. ;-) > > Cílem je jednoduše case-insensitive accent-insensitive substring search na > hodnotě uvnitř JSONu v pg. > > Tohle máme v modelu > > fc_data = JSONField(blank=True, editable=False, default=dict) > > a jméno osoby dostáváme v Python takhle: > > fc_data['contactInfo']['fullName'] > > Takže jméno je zanořený v JSONu. Jména se nemění často a určitě by se dala > vytáhnout do formy podobnější vyhledávacímu stroji/lépe indexované tabuli. > Napadlo nás, zda by cestou nejmenšího odporu nebylo využití toho, že to je > pg typ `jsonb` a Django má už snad umět do JSONu koukat. Zatím jsem > nestudoval a je to vcelku specifický případ, tak sonduju, jestli už někdo > nevyřešil, případně jak či jakým směrem. > > psycopg2~=2.7.0 > django~=1.11.0 > > Díky, > > Vláďa > > > On 6.12.2017 16:04, Honza Král wrote: > > Ahoj, > > > > hledani pomoci __unaccent__icontains nebude nikdy efektivni z definice > > - vzdy se bude jednat o full scan na tech datech. > > > > Muzu se zeptat, na co takovy lookup potrebujes? Hodne silne mi to > > zavani nestastnym navrhem kde mas data v klicich misto hodnotach... > > > > > > Honza Král > > E-Mail: [email protected] > > Phone: +420 606 678585 > > > > > > 2017-12-06 14:25 GMT+01:00 Vláďa Macek <[email protected]>: > >> Zdar, > >> > >> postgres i Django umožňuje fajnově unaccented case insensitive hledání v > >> normálních fieldech. Tj. name__unaccent__icontains > >> > >> Zprovoznil jste někdo efektivní hledání stejného typu v klíčích > nativního > >> JSONFieldu v novém Djangu? Ideálně trochu čistě bez raw SQL, ale přežil > >> bych to. > >> > >> Díky. :-) > >> > >> Vláďa > > -- > -- > E-mailová skupina [email protected] > Správa: http://groups.google.cz/group/django-cs > --- > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny > django-cs ve Skupinách Google. > Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, > zašlete e-mail na adresu [email protected]. > Chcete-li zobrazit tuto diskusi na webu, navštivte > https://groups.google.com/d/msgid/django-cs/65f9b392-5ec3- > a564-6618-e8db788e8a07%40sandbox.cz. > Další možnosti najdete na adrese https://groups.google.com/d/optout. > -- -- E-mailová skupina [email protected] Správa: http://groups.google.cz/group/django-cs --- Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs ve Skupinách Google. Chcete-li zrušit odběr skupiny a přestat dostávat e-maily ze skupiny, zašlete e-mail na adresu [email protected]. Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/django-cs/CA%2B7MNVp%3D%3DkzAS%2BYFpoZF5OGhOi8MfqnBHeg_Fit9%2BA-wHQ0mow%40mail.gmail.com. Další možnosti najdete na adrese https://groups.google.com/d/optout.
