Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 29|Odpowiedź: 2

[Napiwki] (MSSQL) SQL Server – wyszukiwanie pełnotekstowe, indeks pełnotekstowy

[Skopiuj link]
OpublikowanoWczoraj o 20:20 | | | |
Wyszukiwanie pełnotekstowe jest opcjonalnym elementem silnika bazy danych SQL Server. Jeśli nie wybrałeś wyszukiwania pełnego tekstu podczas instalacji SQL Server, ponownie uruchom instalator SQL Server, aby go dodać.

Przegląd

Indeks pełnego tekstu zawiera jedną lub więcej kolumn znakowych w tabeli. Kolumny te mogą zawierać dowolny z następujących typów danych: char, varchar, nchar, nvarchar, text, ntext, image, xml lub varbinary(max) oraz FILESTREAM. Każdy indeks pełnego tekstu tworzy indeks dla jednej lub więcej kolumn w tabeli, a każda kolumna może używać określonego języka.

Zapytania pełnotekstowe działają na słowach i frazach, zgodnie z zasadami określonych języków (takich jak angielski czy japoński), wykonując wyszukiwanie językowe na podstawie danych tekstowych zawartych w indeksie pełnym tekstem. Zapytania pełne tekstu mogą zawierać proste słowa i zwroty lub różne formy słów czy zwrotów. Zapytanie pełne tekstowe zwraca wszystkie dokumenty zawierające co najmniej jedno dopasowanie (znane również jako "trafienie"). Dopasowanie występuje, gdy dokument docelowy zawiera wszystkie terminy określone w pełnym tekście zapytania i spełnia inne kryteria wyszukiwania (takie jak odległość między pasującymi terminami).

Linux Docker MSSQL 2022 Instalacja usługi wyszukiwania pełnego tekstu

Źródła są następujące:
Docker MSSQL 2022 instaluje usługę wyszukiwania pełnotekstowego
https://www.itsvse.com/thread-10857-1-1.html

Sprawdź, czy funkcja wyszukiwania pełnego tekstu w SQL SERVER jest zainstalowana

Polecenie brzmi następująco:

Pełnotekstowe wyszukiwanie SQL Server, indeks pełnotekstowy

Najpierw stwórz nową bibliotekę testową i wstaw dane testowe. Skrypt wygląda następująco:
Stwórz pełnotekstowy spis treści

Pełnotekstowy spis treści służy do przechowywania indeksu pełnego tekstu. Możesz ją stworzyć bezpośrednio, używając następujących skryptów:
Tworzenie pełnotekstowych indeksów dla tabel baz danych

Tworząc indeks pełnotekstowy dla tabeli bazy danych, musisz określić odpowiadający mu język. Ponieważ segmentacja słów różni się w zależności od języka, SQL Server wykorzysta segmentację słów odpowiadającego mu języka do przetwarzania danych w tabeli. Pełnotekstowe wyszukiwanie SQL Server obsługuje około 50 różnych języków, pozwalając na przeglądanie wszystkich obsługiwanych języków poprzez zapytania sys.fulltext_languages tabel. Komenda:
Jak pokazano poniżej:



Następnie dodajemy pełnotekstowy indeks dla chińskiego uproszczonego do pól Tytuł i Treść w tabeli Wiadomości:
Pełnotekstowe wyszukiwanie predykatów i funkcji

Zapytania pełne tekstu wykorzystują predykaty pełne tekstu (ZAWIERAiWOLNY TEKST) oraz funkcje pełnotekstowe (CONTAINSTABLEiFREETEXTTABLE)。 Obsługują złożoną składnię Transact-SQL, która obsługuje różne formy zapytań.

Różnica między CONTAINS a FREETEXT

CONTAINS: Logowanie do linku jest widoczne.

Stosuj precyzyjne metody dopasowywania, aby znaleźć konkretne słowa lub frazy w tekście.
Obsługuje złożone warunki zapytania, takie jak wyszukiwanie w pobliżu (na przykład słowa muszą pojawiać się blisko siebie), wyszukiwanie prefiksów i inne.
Zazwyczaj stosuje się go w sytuacjach, gdy potrzebna jest bardziej precyzyjna kontrola wyników wyszukiwania.

FREETEXT: Logowanie do linku jest widoczne.

Zapewnia bardziej elastyczne i oparte na języku naturalnym doświadczenie wyszukiwania.
Nie są wymagane specjalne kryteria wyszukiwania; Automatycznie analizuje tekst wejściowy i próbuje znaleźć powiązane treści.
Jest bardziej odpowiedni dla użytkowników, którzy chcą wykonywać proste wyszukiwania słów kluczowych, jak Google, bez martwienia się o konkretne lokalizacje czy formaty.

Polecenia są następujące:
Jak pokazano poniżej:



CONTAINSTABLE i FREETEXTTABLE

CONTAINSTABLE zwraca tabele spełniające kryteria zapytania. W instrukcjach SQL możemy traktować je jako regularne tabele, a zapytania za pomocą CONTAINSTABLE zwracają wartość RANK oraz KEY dla każdego wiersza. RANK służy do wskazania stopnia zgodności korelacji, z wartościami między 0~1000, a KEY to ID głównej tabeli. FREETEXTTABLE najpierw segmentuje słowa i zdania do zapytania, a następnie zapytania do dopasowania. Polecenie brzmi następująco:
Jak pokazano poniżej:



Dodatkowo możesz sprawdzić wyniki segmentacji, zadając sys.dm_fts_parser:
Jak pokazano poniżej:



problem

Pytanie: CONTAINS domyślnie nie obsługuje zapytań rozmytych. Jeśli wpiszesz CONTAINS(Column, 'apple'), dopasuje się do słowa korzeniowego (np. apples), ale nie do pineapple.
Rozwiązanie: Jeśli potrzebne są zapytania rozmyte, muszą być umieszczone przed i za dzikimi kartamiDodaj podwójne cudzysłowy i gwiazdkę:ZAWIERA(Kolumna, '"*jabłko*"')

Odniesienie:

Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.




Poprzedni:Strona internetowa do pracy zdalnej, pracy i freelancera
 Ziemianin| Opublikowano2 minuty temu |
 Ziemianin| Opublikowano58 sekund temu |
EF Core korzysta z funkcji wyszukiwania pełnego tekstuLogowanie do linku jest widoczne.
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com