mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-23 00:14:21 +00:00
Create indexing
This commit is contained in:
parent
81daee21c1
commit
70602ee3b2
3 changed files with 94 additions and 14 deletions
|
@ -29,13 +29,6 @@ export default function (props) {
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Panel>
|
</Panel>
|
||||||
<Panel title={"Appelli"}>
|
|
||||||
<ol>
|
|
||||||
<li><Timer to={"2020-06-24"}/></li>
|
|
||||||
<li><Timer to={"2020-07-09"}/></li>
|
|
||||||
<li><Timer to={"2020-07-28"}/></li>
|
|
||||||
</ol>
|
|
||||||
</Panel>
|
|
||||||
</Section>
|
</Section>
|
||||||
<Section>
|
<Section>
|
||||||
<Panel title={"Progetto"}>
|
<Panel title={"Progetto"}>
|
||||||
|
@ -47,13 +40,6 @@ export default function (props) {
|
||||||
Va consegnato via mail almeno 10 giorni prima dello scritto.
|
Va consegnato via mail almeno 10 giorni prima dello scritto.
|
||||||
</p>
|
</p>
|
||||||
</Panel>
|
</Panel>
|
||||||
<Panel title={"Termini di consegna"}>
|
|
||||||
<ol>
|
|
||||||
<li><Timer to={"2020-06-14"}/></li>
|
|
||||||
<li><Timer to={"2020-06-30"}/></li>
|
|
||||||
<li><Timer to={"2020-07-18"}/></li>
|
|
||||||
</ol>
|
|
||||||
</Panel>
|
|
||||||
</Section>
|
</Section>
|
||||||
<Section title={"Visualizzazioni utili"}>
|
<Section title={"Visualizzazioni utili"}>
|
||||||
<Panel title={"B+ Tree"}>
|
<Panel title={"B+ Tree"}>
|
||||||
|
|
92
src/routes/GestioneDellInformazione/08_Indexing.js
Normal file
92
src/routes/GestioneDellInformazione/08_Indexing.js
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
import {Fragment} from "preact";
|
||||||
|
import {Section, Panel, ILatex, BLatex, PLatex, Code, BaseLink} from "bluelib";
|
||||||
|
import Example from "../../components/Example";
|
||||||
|
import Link from "../../components/Link";
|
||||||
|
|
||||||
|
const r = String.raw;
|
||||||
|
|
||||||
|
|
||||||
|
export default function () {
|
||||||
|
return (
|
||||||
|
<Fragment>
|
||||||
|
<Section title={"Indicizzazione"}>
|
||||||
|
<Panel title={"Inverted index"}>
|
||||||
|
<p>
|
||||||
|
Una <b>struttura dati</b> che permette di velocizzare le ricerche su testi <b>grandi</b> e <b>semi-statici</b>.
|
||||||
|
</p>
|
||||||
|
<aside>
|
||||||
|
<u>Testo semi-statico</u>: un testo che viene aggiornato raramente.
|
||||||
|
</aside>
|
||||||
|
<p>
|
||||||
|
Si crea un <i>vocabolario</i> dall'<b>insieme dei token</b>, e ad ogni <b>token</b> del vocabolario si associa una <b>lista di tutte le sue occorrenze</b> (<i>posting list</i>).
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
L'efficacia ed efficienza dell'indice dipendono dalle <i>strutture di indicizzazione</i> utilizzate per serializzarlo.
|
||||||
|
</p>
|
||||||
|
</Panel>
|
||||||
|
</Section>
|
||||||
|
<Section title={"Strutture di indicizzazione"}>
|
||||||
|
<Panel title={"Sorted array"}>
|
||||||
|
<p>
|
||||||
|
Struttura per rappresentare il vocabolario basata su un <b>array di puntatori</b> alle posting list.
|
||||||
|
</p>
|
||||||
|
<Code>{r`
|
||||||
|
ciao → R1, R15, R123
|
||||||
|
steffo → R1, R14
|
||||||
|
ciano → R1231
|
||||||
|
`}</Code>
|
||||||
|
</Panel>
|
||||||
|
<Panel title={"Trie"}>
|
||||||
|
<p>
|
||||||
|
Struttura per rappresentare il vocabolario basata su un <b>albero dei prefissi dei token</b>,:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>ogni arco corrisponde a <b>una lettera del prefisso</b>;</li>
|
||||||
|
<li>ogni foglia corrisponde a <b>un token</b> e contiene un puntatore alla sua <b>posting list</b>.</li>
|
||||||
|
</ul>
|
||||||
|
<Code>{r`
|
||||||
|
- [root]
|
||||||
|
- c
|
||||||
|
- i
|
||||||
|
- a
|
||||||
|
- o
|
||||||
|
- R1
|
||||||
|
- R15
|
||||||
|
- R123
|
||||||
|
- no
|
||||||
|
- R1231
|
||||||
|
- steffo
|
||||||
|
- R1
|
||||||
|
- R14
|
||||||
|
`}</Code>
|
||||||
|
</Panel>
|
||||||
|
<Panel title={"B+ tree"}>
|
||||||
|
<p>
|
||||||
|
Struttura per rappresentare il vocabolario che <b>occupa più spazio di un albero</b> ma permette di effettuare <b>certe operazioni più velocemente</b>.
|
||||||
|
</p>
|
||||||
|
<Example>
|
||||||
|
<Link href={"https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html"}>Visualizzazione di un B+ tree</Link>
|
||||||
|
</Example>
|
||||||
|
<Example>
|
||||||
|
L'abbiamo fatta in <BaseLink href={"/basididati"}>Basi di dati</BaseLink>!
|
||||||
|
</Example>
|
||||||
|
</Panel>
|
||||||
|
</Section>
|
||||||
|
<Section title={"Utilizzo dell'indice"}>
|
||||||
|
<Panel title={"Passi"}>
|
||||||
|
<ol>
|
||||||
|
<li><u>Vocabulary search</u>: si cercano <b>individualmente</b> i termini della query nel vocabolario</li>
|
||||||
|
<li><u>Occurences retrieval</u>: si <b>raccolgono le posting list</b> dei vari termini</li>
|
||||||
|
<li><u>Occurences manipulation</u>: si manipolano i dati delle posting list in modo da risolvere le query, restituendo quindi un <b>sottoinsieme delle occorrenze</b></li>
|
||||||
|
</ol>
|
||||||
|
<p>
|
||||||
|
In base alla struttura utilizzata, potrebbe non essere sempre possibile effettuare il terzo passo.
|
||||||
|
</p>
|
||||||
|
<Example>
|
||||||
|
Non è possibile cercare prefissi se è stato utilizzato l'hashing!
|
||||||
|
</Example>
|
||||||
|
</Panel>
|
||||||
|
</Section>
|
||||||
|
</Fragment>
|
||||||
|
)
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ import DocumentProcessing from "./04_DocumentProcessing";
|
||||||
import Thesaurus from "./05_Thesaurus";
|
import Thesaurus from "./05_Thesaurus";
|
||||||
import InformationContent from "./06_InformationContent";
|
import InformationContent from "./06_InformationContent";
|
||||||
import AnalisiLessicale from "./07_AnalisiLessicale";
|
import AnalisiLessicale from "./07_AnalisiLessicale";
|
||||||
|
import Indexing from "./08_Indexing";
|
||||||
|
|
||||||
|
|
||||||
export default function () {
|
export default function () {
|
||||||
|
@ -20,6 +21,7 @@ export default function () {
|
||||||
<InformationContent/>
|
<InformationContent/>
|
||||||
<Similarity/>
|
<Similarity/>
|
||||||
<AnalisiLessicale/>
|
<AnalisiLessicale/>
|
||||||
|
<Indexing/>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue