|
|
Opublikowano 04.10.2015 21:03:04
|
|
|

1. Przeczytałem kilka dobrych wpisów,
Przegląd wyszukiwania pełnotekstowego SQL Server 2008 http://www.cnblogs.com/galaxyyao/archive/2009/02/13/1390139.html
Pełny tekst indeksu http://www.cnblogs.com/liulun/articles/1368655.html
Najpierw skopiuj akapit:
P: Dlaczego wyszukiwanie w pełnym tekstie? O: Ponieważ szybkość zapytania tekstu jest powolna (nie zaleca się budowania indeksu na tekście, co jest powodem) P: Czy jest jakaś różnica w porównaniu z rokiem 2005? A; Oczywiście istnieje różnica, a nazwa poprzedza się zintegrowany. Wcześniej 05 miał osobny plik indeksowy i silnik, ale w 08 został zintegrowany z grupą plików. P: Jaka jest zasada? O: Na podstawie słów kluczowych P: Jak to się ma do zwykłych indeksów? O: Celem jest poprawa szybkości zapytań. Indeksy pełnotekstowe mają wiele tych samych cech co indeksy Wyszukiwanie pełne tekstu wykorzystuje wyszukiwanie semantyczne (ta technika brzmi bardzo głęboko) i może być również stosowane w dokumentach binarnych. P: Do czego to służy? O: Aby podać najprostszy przykład, wyszukiwanie prac, dopasowanie rozmyte, szybkie i duże ilości również mogą być klasyfikowane.
Dwa. Potem przejdź na MSDN, żeby zobaczyć trochę Dongdonga:
Przegląd pełnego tekstu indeksu
http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
Niektóre z poniższych cytatów są skopiowane w następujący sposób:
1. W SQL Server 2008 silnik pełnotekstowy jest w pełni zintegrowany z silnikiem bazodanowym. Silnik pełnotekstowy jest teraz w procesie SQL Server (sqlservr.exe) zamiast w osobnym procesie (msftesql.exe). Integrując silnik pełnotekstowy z silnikiem bazodanowym, poprawia się zarządzanie pełnym tekstem, optymalizuje zapytania hybrydowe, a ogólna wydajność się poprawia. Od: http://msdn.microsoft.com/zh-cn/library/ms142587.aspx
2. Kroki tworzenia wyszukiwania pełnotekstowego, zbyt leniwy, by robić zrzuty ekranu, zobaczyć, że inni już to zrobili, cytować bezpośrednio, ale od drugiej strony różni się to od mojego lokalnego, nie mogę bezpośrednio kliknąć prawym przyciskiem myszy na tabelę, aby utworzyć pełnotekstowe wyszukiwanie, domyślne jest wyszarzone, mogę utworzyć indeks tylko w katalogu katalogu katalogu pełnotekstowego w pamięci. http://www.sql-server-performance.com/2010/full-text-search-2008/
3. Początkowo myślałem, że katalog wyszukiwania pełnego tekstu powinien być katalogiem na odpowiednim dysku twardym, co jest podobne do koncepcji locune. W rzeczywistości jednak, od SQL Server 2008, katalog pełnotekstowy jest obiektem wirtualnym i nie należy do żadnej grupy plików. Pełnotekstowy spis treści to logiczna koncepcja reprezentująca zestaw indeksów pełnotekstowych. Źródło:
http://msdn.microsoft.com/zh-cn/library/ms142497.aspx
4. Możesz utworzyć indeks pełnego tekstu tylko dla widoku tabeli lub indeksu, ale nie dla widoku pełnego tekstu.
Indeks pełnotekstowy to specjalny rodzaj indeksu funkcjonalnego opartego na markerach, który jest generowany i utrzymywany przez silnik pełnotekstowy. Aby utworzyć pełnotekstowe wyszukiwanie tabeli lub widoku, tabela lub widok musi mieć unikalny, nieunieważniający, jednokolumnowy indeks. Silnik pełnotekstowy musi użyć tego unikalnego indeksu, aby przypisać każdy wiersz w tabeli do unikalnego kompresowalnego. Indeksy pełne tekstu mogą obejmować kolumny Char, Varchar, Nchar, Nvarchar, Text, Ntext, Image, XML, Varbinary oraz Varbinary(max).
5. Aby stworzyć pełny indeks tekstowy w Tabeli A, istnieje założenie, czyli musi być co najmniej jeden unikalny indeks w Tabeli A, czyli jeśli nie ma indeksu w Tabeli A, nie należy tworzyć pełnego tekstu indeksu w Tabeli A.
W 6.SQL Server 2008 rozmiar indeksu pełnego tekstu jest ograniczony jedynie dostępnymi zasobami pamięci komputera uruchamiającego instancję SQL Server. http://msdn.microsoft.com/zh-cn/library/cc879306.aspx
7. Zapytanie w wielu kolumnach (wyszukiwanie pełne tekstu) Określając listę kolumn do przeszukiwania, możesz zapytać wiele kolumn za pomocą predykatu CONTAINS. Te kolumny muszą pochodzić z tej samej tabeli.
Użyj nawiasów, WYBIERZ nazwę, kolor FROM production.product WHERE CONTAINS(((Name, Color), 'Red');
Lub użyj znaku *, WYBIERZ nazwę, Kolor Z Production.Product WHERE CONTAINS(*, 'Red');
Źródło: http://msdn.microsoft.com/zh-cn/library/ms142488.aspx
9. Zapytanie o wiele kolumn dla wielu tabel
Może tylko ZAWIERAĆ lub ZAWIERAĆ, na przykład GDZIE ZAWIERA(t1. Nazwa, 'Red') lub ZAWIERA(t2. Imię 'Red');
10. Optymalizacja wydajności zapytań pełnotekstowych
Użyj ALTER FULLTEXT CATALOG REORGANIZ, aby zreorganizować katalog pełnotekstowy.
ALTER FULLTEXT CATALOG customer REBUILD Z ACCENT_SENSITIVITY=WYŁĄCZ
Więcej informacji znajdziesz tutaj: http://msdn.microsoft.com/zh-cn/library/cc879244.aspx
11. Wykonaj wyszukiwanie prefiksów http://msdn.microsoft.com/zh-cn/library/ms142492.aspx
Możesz użyć wyszukiwania pełnotekstowego, aby wyszukać słowa lub frazy z określonym przedrostkiem.
Podczas wyszukiwania prefiksów zwracane są wszystkie elementy w kolumnie zawierającej tekst zaczynający się od określonego prefiksu. Na przykład, aby wyszukać wszystkie wiersze zawierające prefiks top (takie jak topple, topping i sam top), zapytanie wyglądałoby następująco:
WYBIERZ * Z PRODUKTU GDZIE ZAWIERA (ProductName, '"auto*"' ); Zwrócony zostanie cały tekst odpowiadający tekstowi podanemu przed gwiazdką (*).
Uwaga: Jeśli nie dodasz podwójnych cudzysłowów przed i po tekście oraz gwiazdce (np. CONTAINS (DEscrip{filter}tION, 'top*')), wyszukiwanie w pełnym tekście nie użyje gwiazdki jako wolnej karty.
Gdy prefiks jest frazą, każdy token tworzący tę frazę traktowany jest jako osobny prefiks. Wszystkie linie zawierające słowa zaczynające się od tych prefiksów są zwracane. Na przykład przedrostek "light bread*" będzie szukał linii z tekstem "light breaded", "lightly breaded" lub "light bread", ale nie zwraca "Lightly tosted bread".
|
Poprzedni:Kantońska piosenka Jacky'ego Cheunga, całkiem przyjemnie się czujeNastępny:Dziewczyna z Lianyungang, prowincja Jiangsu, została pozbawiona koszuli w toalecie i brutalnie pobita
|