Шта су типови мапирања?
У програму Еластицсеарцх, сваки документ припада индексу и типу. Индекс се може сматрати базом података, док се тип може видети као табела у поређењу са релационом базом података. Тип мапирања је била логичка партиција објекта са другим објектима који су припадали другим врстама мапирања у истом индексу.
Сваки тип мапирања има своја поља. На пример, врста корисник може имати следећа поља:
„ид“: 123,
"наме": "Схубхам",
„веб локација“: 1
Још један тип мапирања у истом индексу веб сајт може имати следећа поља која се потпуно разликују од корисник тип:
„ид“: 1,
"титле": "ЛинукХинт",
"линк": "хттпс: // линукхинт.цом / "
Током претраживања документа у индексу, претрага је могла бити ограничена на један документ тако што се једно поље наводи као:
ГЕТ идк_наме / корисник, веб локација / _сеарцх"упит":
"меч":
„ид“: 1
Тхе _тип поље докумената је комбиновано са својим _ид за генерисање а _уид поље тако документи са истим _ид могао постојати у једном индексу.
Прочитајте Еластицсеарцх Водич за почетнике за дубље разумевање Еластицсеарцх архитектуре и започните с њим помоћу Инсталл ЕластицСеарцх на Убунту.
Зашто се уклањају типови мапирања?
Баш као што смо рекли горе док смо објашњавали како су индекс и типови слични бази података и табели у релационој бази података, тим Еластицсеарцх-а је мислио исто, али то није био случај јер Луцене Енгине не следи исту аналогију. То је због следећих разлога:
- У релационој бази података, табеле су независне једна од друге и називи колона, чак и ако су исте немају међусобне везе. То није случај са пољима у типовима мапирања као у ЕС, поља са истим именом интерно се третирају као иста поља Луцене Енгине.
- У горњем примеру поље _ид у корисник врста и веб сајт тип је ускладиштен у истом пољу и требало би да има потпуно исти тип што може довести до фрустрације и забуне.
- Чување ентитета без заједничких поља зауставља Луцене ради ефикасног компримовања докумената.
Алтернативе типовима мапирања
Иако је одлука донета, још увек морамо раздвојити различите врсте података. Сада је прва алтернатива одвојени документи у свом индексу што има две предности:
- Сада када су подаци уобичајени у сваком индексу, Луцене врло лако може применити сопствене технике компресије података.
- Сада када сви документи у индексу имају иста поља, могућности претраживања целог текста се феноменално повећавају како се повећава бодовање сваког документа.
Друга алтернатива раздвајању података је одржавање прилагођености _тип поље у сваки документ који убацимо, попут:
СТАВИТЕ дб_наме / доц / 123"типе": "корисник",
„ид“: 123,
"наме": "Схубхам",
„веб локација“: 1
ПУТ дб_наме / доц / вебсите
"типе": "веб локација",
„ид“: 1,
"титле": "ЛинукХинт",
"линк": "хттпс: // линукхинт.цом / "
Ово је одлична употреба ако тражите потпуно прилагођено решење.
Распоред уклањања типова мапирања
Како је уклањање типова мапирања велика промена, ЕС тим полако ради процес. Ево распореда вађења извађеног из еластичног материјала.цо:
- Еластицсеарцх 7.Икс
- Тхе тип параметар у УРЛ-овима није обавезан. На пример, за индексирање документа више није потребан тип документа.
- Тхе _Уобичајено_ тип мапирања је уклоњен.
- Еластицсеарцх 8.Икс
- Тхе тип параметар више није подржан у УРЛ-овима.
- Тхе инцлуде_типе_наме параметар је подразумевано лажно.
- Еластицсеарцх 9.Икс
- Тхе инцлуде_типе_наме параметар је уклоњен.
Закључак
У овој лекцији смо погледали зашто су уклоњени типови Еластицсеарцх Маппинг и неће бити потпуно подржани у наредним верзијама.