Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 10896|Risposta: 0

[Fonte] Alcune conoscenze della ricerca in testo completo di SQL Server 2008

[Copiato link]
Pubblicato su 04/10/2015 21:03:04 | | |
1. Ho letto alcuni buoni post,

Panoramica della ricerca integrale di SQL Server 2008 http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html

Indice integrale http://www.cnblogs.com/liulun/articles/1368655.html


Prima di tutto, copia un paragrafo:

D: Perché la ricerca full-text?
R: Perché la velocità di query del testo è lenta (non è consigliato costruire un indice sul testo, che è il motivo)
D: C'è qualche differenza rispetto al 2005?
Un; Ovviamente, c'è una differenza, e il nome è preceduto da un integrato. In precedenza, 05 aveva un file indice e un motore separati, ma nel 08 era integrato nel file group.
D: Qual è il principio?
R: Basato su parole chiave
D: Come si collega agli indici ordinari?
R: Lo scopo è migliorare la velocità delle query. Gli indici a testo completo hanno molte delle stesse caratteristiche degli indici
    La ricerca a testo intero utilizza la ricerca semantica (questa tecnica sembra molto profonda) e può essere utilizzata anche per documenti binari.
D: A cosa serve?
R: Per fare l'esempio più semplice, cerca articoli, fuzzy matching, fast e big numbers possono anche posizionarsi.



Due. Poi vai su MSDN per vedere un po' di Dongdong:

Panoramica dell'indice del testo completo
http://msdn.microsoft.com/zh-cn/library/cc879306.aspx



Alcune delle seguenti citazioni sono copiate come segue:

1. In SQL Server 2008, il motore full-text è completamente integrato nel motore di database. Il motore di testo completo ora si trova in un processo SQL Server (sqlservr.exe) invece che in un processo separato (msftesql.exe). Integrando il motore full-text nel motore del database, la gestione del full-text migliora, le query ibride vengono ottimizzate e le prestazioni complessive migliorato. Da: http://msdn.microsoft.com/zh-cn/library/ms142587.aspx

2. I passaggi di creazione della ricerca full-text, troppo pigro per fare screenshot, vedere se l'hanno fatto altri, citarlo direttamente, ma dalla seconda pagina è diverso dal mio locale, non posso cliccare direttamente con il tasto destro sulla tabella per creare una ricerca full-text, il predefinito è grigio, posso solo creare un indice nel catalogo della directory full-text archiviato.  http://www.sql-server-performance.com/2010/full-text-search-2008/

3. All'inizio pensavo che la directory di ricerca a testo completo dovesse essere una directory sul disco rigido corrispondente, che è simile al concetto di locune. Ma in realtà, a partire da SQL Server 2008, la directory full-text è un oggetto virtuale e non appartiene a nessun file group. Un indice a testo completo è un concetto logico che rappresenta un insieme di indici a testo completo. Fonte:
http://msdn.microsoft.com/zh-cn/library/ms142497.aspx

4. Puoi creare un indice full-text solo per una tabella o una vista indice, ma non un indice full-text per una vista normale.

Un indice full-text è un tipo speciale di indice funzionale basato su marker, generato e mantenuto dal motore full-text. Per creare una ricerca a testo intero su una tabella o una vista, la tabella o la vista deve avere un indice univoco, non nullabile, a colonna singola. Il motore di testo completo deve utilizzare questo indice unico per mappare ogni riga della tabella a una chiave comprimibile unica. Gli indici a testo completo possono includere le colonne Char, Varchar, Nchar, Nvarchar, Text, Ntext, Image, XML, Varbinary e Varbinary(max).

5. Per creare un indice a testo completo sulla Tabella A, esiste una premessa, cioè deve esserci almeno un indice unico nella Tabella A, cioè, se non c'è indice nella Tabella A, non si vuole creare un indice a testo completo sulla Tabella A.

In 6.SQL Server 2008, la dimensione dell'indice del testo completo è limitata solo dalle risorse di memoria disponibili del computer che esegue l'istanza SQL Server. http://msdn.microsoft.com/zh-cn/library/cc879306.aspx

7. Consulta più colonne (ricerca full-text)
Specificando una lista di colonne da cercare, puoi interrogare più colonne usando il predicato CONTAINS. Queste colonne devono provenire dalla stessa tabella.

Usa parentesi, SELEZIONA Nome, Colore DA Produzione.Prodotto DOVE CONTIENE((Nome, Colore), 'Rosso');

Oppure usare il segno *, SELECT Name, Colora FROM Production.Product WHERE CONTAINS(*, 'Red');

Fonte: http://msdn.microsoft.com/zh-cn/library/ms142488.aspx

9. Interroga più colonne per più tabelle

Può solo CONTENERE o CONTIENE, come DOVE CONTIENE(t1. Nome, 'Red') oppure CONTIENE (t2. Nome, 'Red');

10. Ottimizzazione delle prestazioni delle query a testo intero

Usa ALTER FULLTEXT CATALOG REORGANIZE per riorganizzare il catalogo full-text.

ALTER FULLTEXT CATALOG REBUILD CLIENTE CON ACCENT_SENSITIVITY=OFF

Per maggiori informazioni, basta guardare questo: http://msdn.microsoft.com/zh-cn/library/cc879244.aspx

11. Effettuare una ricerca con prefissi http://msdn.microsoft.com/zh-cn/library/ms142492.aspx

Puoi usare la ricerca per testo completo per cercare parole o frasi con un prefisso specificato.

Quando effettui una ricerca con prefisso, tutti gli elementi nella colonna che contengono testo che inizia con il prefisso specificato vengono restituiti. Ad esempio, per cercare tutte le righe che contengono il prefisso top (come topple, topping e top stesso), la query apparirebbe così:

SELEZIONA * DAL Prodotto DOVE CONTIENE (NomeProdotto, '"auto*"' );
Tutto il testo che corrisponde a quello specificato prima dell'asterisco (*) verrà restituito.

Nota: Se non aggiungi virgolette doppie prima e dopo il testo e l'asterisco (ad esempio CONTAINS (DEscrip{filter}tION, 'top*')), la ricerca nel testo completo non userà l'asterisco come imprevedibile.

Quando un prefisso è una frase, ogni gettone che compone la frase viene trattato come un prefisso separato. Tutte le righe contenenti parole che iniziano con questi prefissi vengono restituite. Ad esempio, il prefisso "light bread*" cercherà le righe con i testi "light breaded", "lightly breaded" o "light bread", ma non restituirà "Lightly toasted bread".





Precedente:Una canzone cantonese di Jacky Cheung, è davvero piacevole
Prossimo:Una ragazza di Lianyungang, nella provincia del Jiangsu, fu spogliata della camicia nel water e picchiata con forza
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com