mirror of
https://github.com/Steffo99/unisteffo.git
synced 2024-11-26 01:44:20 +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>
|
||||
</ul>
|
||||
</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>
|
||||
<Panel title={"Progetto"}>
|
||||
|
@ -47,13 +40,6 @@ export default function (props) {
|
|||
Va consegnato via mail almeno 10 giorni prima dello scritto.
|
||||
</p>
|
||||
</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 title={"Visualizzazioni utili"}>
|
||||
<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 InformationContent from "./06_InformationContent";
|
||||
import AnalisiLessicale from "./07_AnalisiLessicale";
|
||||
import Indexing from "./08_Indexing";
|
||||
|
||||
|
||||
export default function () {
|
||||
|
@ -20,6 +21,7 @@ export default function () {
|
|||
<InformationContent/>
|
||||
<Similarity/>
|
||||
<AnalisiLessicale/>
|
||||
<Indexing/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue