Tìm kiếm văn bản của DB2, Phần 2: Tìm hiểu về xử lý ngôn ngữ để tìm kiếm toàn văn bản trong DB2

Tìm kiếm văn bản của DB2 cho phép tìm kiếm toàn văn bản trên dữ liệu có cấu trúc và không có cấu trúc được lưu trữ trong một cơ sở dữ liệu DB2. Nó dùng xử lý ngôn ngữ để xác định tập kết quả của một truy vấn tìm kiếm toàn văn bản. Tìm ki ếm văn bản của DB2 có sẵn trên Bản vá lỗi 1 của Phiên bản 9.5 của DB2 cho Linux®, UNIX® và Windows® (DB2 for Linux®, UNIX®, and Windows®, Version 9.5 Fixpack 1) và mới hơn. Có thể tạo ra các chỉ mục văn bản dựa trên một loạt các kiểu dữ liệu từ các VARCHAR nhỏ đến các BLOB lớn có chứa các đối tượng văn bản. Trong bối cảnh về xử lý chỉ mục của Tìm kiếm văn bản của DB2, với mỗi hàng, nội dung của mỗi cột được xử lý như một tài liệu. Tùy thuộc vào kiểu tài liệu, được định nghĩa theo định dạng chỉ mục văn bản, các trình xử lý tiếp nhận và các trình phân tích cú pháp khác nhau được sử dụng để trích xuất và lọc văn bản.

pdf16 trang | Chia sẻ: lylyngoc | Lượt xem: 1485 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Tìm kiếm văn bản của DB2, Phần 2: Tìm hiểu về xử lý ngôn ngữ để tìm kiếm toàn văn bản trong DB2, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tìm kiếm văn bản của DB2, Phần 2: Tìm hiểu về xử lý ngôn ngữ để tìm kiếm toàn văn bản trong DB2 Giới thiệu Tìm kiếm văn bản của DB2 cho phép tìm kiếm toàn văn bản trên dữ liệu có cấu trúc và không có cấu trúc được lưu trữ trong một cơ sở dữ liệu DB2. Nó dùng xử lý ngôn ngữ để xác định tập kết quả của một truy vấn tìm kiếm toàn văn bản. Tìm kiếm văn bản của DB2 có sẵn trên Bản vá lỗi 1 của Phiên bản 9.5 của DB2 cho Linux®, UNIX® và Windows® (DB2 for Linux®, UNIX®, and Windows®, Version 9.5 Fixpack 1) và mới hơn. Có thể tạo ra các chỉ mục văn bản dựa trên một loạt các kiểu dữ liệu từ các VARCHAR nhỏ đến các BLOB lớn có chứa các đối tượng văn bản. Trong bối cảnh về xử lý chỉ mục của Tìm kiếm văn bản của DB2, với mỗi hàng, nội dung của mỗi cột được xử lý như một tài liệu. Tùy thuộc vào kiểu tài liệu, được định nghĩa theo định dạng chỉ mục văn bản, các trình xử lý tiếp nhận và các trình phân tích cú pháp khác nhau được sử dụng để trích xuất và lọc văn bản. Ví dụ, một tài liệu XML có thể được tạo chỉ mục hoặc theo định dạng XML hay theo định dạng TEXT (văn bản). Nếu dùng định dạng XML, một trình phân tích cú pháp XML sẽ được sử dụng để phân tích cú pháp và tạo chỉ mục tài liệu và cả hai cú pháp truy vấn SQL và cú pháp giống như-XPath có thể được sử dụng để truy vấn. Trong trường hợp này, có thể sử dụng các phần tử cấu trúc để xác định phần văn bản cần được tìm kiếm, nhưng chính các phần tử cấu trúc lại không phải là một phần thân văn bản có thể tìm kiếm được. Mặt khác, với định dạng TEXT, một trình phân tích cú pháp văn bản-thuần được sử dụng để phân tích và tạo chỉ mục tài liệu. Trong trường hợp này, các phần tử cấu trúc được coi là một phần thân văn bản có thể tìm kiếm được và chỉ có cú pháp truy vấn SQL được áp dụng. Hình 1 cho thấy luồng công việc cơ bản. Hình 1. Các bước xử lý Tìm kiếm văn bản của DB2 phụ thuộc vào IBM LanguageWare để phân tích từ vựng. Tìm kiếm văn bản của DB2 sử dụng một cách tiếp cận dựa trên-từ điển cho các ngôn ngữ được hỗ trợ. Còn với các ngôn ngữ khác nó sử dụng một cách tiếp cận xử lý-ký tự và xử lý-từ (không phân tích hình thái học). Các từ tìm kiếm trong một truy vấn tìm kiếm toàn văn bản được phân tích tương tự như việc phân tích được thực hiện trong quá trình tạo chỉ mục. Liệu một tài liệu có được trả về như là một phần của tập kết quả hay không phụ thuộc không chỉ vào các từ và cách chúng được kết hợp trong truy vấn, mà còn vào kết quả của việc xử lý ngôn ngữ và hoàn toàn vào cấu hình của máy chủ văn bản, đặc biệt là các trình phân tích cú pháp và thuật toán tách từ (tokenizer). Phần này mô tả các khía cạnh về xử lý ngôn ngữ và nó cung cấp các ví dụ về các đặc tính ngôn ngữ ảnh hưởng đến các kết quả tìm kiếm như thế nào. Về đầu trang Các truy vấn tối thiểu Đối với các truy vấn tối thiểu, các từ tìm kiếm hợp lệ có chứa ít nhất là hai ký tự và chúng không thể chỉ chứa các dấu chấm câu. Liệt kê 1 hiển thị một ví dụ. Liệt kê 1. Các ví dụ về các truy vấn tối thiểu hợp lệ select content from sampleen where contains(plaincol, 'to')=1 select content from sampleen where contains(plaincol, 't*')=1 select content from sampleen where contains(plaincol, 'c#')=1 Về đầu trang Các ký tự thoát Các ký tự nào đó có ý nghĩa ngữ nghĩa như là một phần của truy vấn tìm kiếm và chúng cần được đặt dấu thoát (dấu gạch chéo ngược) nếu chúng được dùng là một phần của một từ tìm kiếm. Đặt dấu thoát cho các dấu ngoặc kép đơn và đôi bằng cách tăng gấp đôi dấu ngoặc kép, chẳng hạn như khi dùng Smith''s để tìm kiếm Smith's. Các ký tự sau đây cần phải được đặt dấu thoát là \ để được xử lý như là một phần của một truy vấn tìm kiếm.  Các ký hiệu đòi hỏi ký tự thoát để đạt được một truy vấn hợp lệ về cú pháp ] }   Các ký hiệu đòi hỏi ký tự thoát để thay đổi ngữ nghĩa học && || ! * ? \ -   Các ký tự gây ra các lỗi cú pháp khi dùng riêng và đòi hỏi một ký tự thoát để thay đổi ngữ nghĩa học ( ) " “  Về đầu trang Tìm gốc của từ và các dạng chính tắc của từ (lemmas) Tìm gốc của từ là quá trình tìm kiếm một phần không đổi của một từ, đó là đoạn từ vẫn giữ nguyên không thay đổi bất kể thì hay cách thức của từ được sử dụng. Đoạn từ này không nhất thiết phải là gốc hình thái học. Ví dụ:  Gốc với cả hai từ produce và production là produc.  Gốc với từ good là good.  Gốc với từ better là better. Dạng chính tắc hóa của từ (lemmatization) là quá trình xác định dạng mẫu không biến cách, cơ bản của một từ. Trong khi xử lý cập nhật chỉ mục, việc phân tích từ vựng xác định các dạng chính tắc của các từ trong tài liệu và sự phân tích bổ sung thêm thông tin này vào chỉ mục văn bản. Vì lẽ đó, với một tìm kiếm từ khóa, các dạng chính tắc của từ tìm kiếm được xác định và tất cả các tài liệu có chứa dạng chính tắc của từ đó được trả về. Ví dụ:  Dạng chính tắc với từ good là good (tốt).  Các dạng chính tắc với từ better là better (tốt hơn), good (tốt) và well (tốt).  Dạng chính tắc với từ well là well. Lưu ý sự khác nhau giữa kết quả về tìm gốc của từ và dạng chính tắc hóa của từ với từ better. Một tìm kiếm với từ good dựa trên dạng chính tắc hóa của từ trả về các tài liệu trùng khớp với từ good hoặc từ better, vì từ good được trùng khớp với chính từ good, và từ good được trùng khớp với sự xuất hiện của dạng chính tắc của từ good có liên quan với từ better. Liệt kê 2 hiển thị kết quả ví dụ về một tìm kiếm từ khóa với từ good. Liệt kê 2. Kết quả ví dụ về tìm kiếm từ khóa với từ good select pk, substr(plaincol,1,68) from simpleen where contains(plaincol, 'good')=1 PK PLAINCOL -------- ----------------------------------------------------------- 4 it is better here 5 this is a good story 2 record(s) selected. Một tìm kiếm với từ better trả về các tài liệu có chứa từ good, better hoặc well, vì tất cả chúng được liệt kê như là các dạng chính tắc với từ better. Liệt kê 3 hiển thị các kết quả ví dụ về một tìm kiếm từ khóa với từ better. Liệt kê 3. Kết quả ví dụ về tìm kiếm từ khóa với từ better select pk, plaincol from simpleen where contains(plaincol, 'better')=1 PK PLAINCOL -------- ----------------------------------------------------------- 2 it is well done 3 the well is deep 4 it is better here 5 this is a good story 4 record(s) selected. Để chỉ lấy ra các tài liệu trùng khớp với từ đó, nhưng không lấy ra các tài liệu trùng khớp với các dạng chính tắc của từ đó, hãy bao bọc từ đó trong hai dấu ngoặc kép. Liệt kê 4 cho thấy kết quả ví dụ về một tìm kiếm cụm từ với từ better. Liệt kê 4. Kết quả ví dụ về một tìm kiếm cụm từ với từ better select pk, plaincol from simpleen where contains(plaincol, '"better"')=1 PK PLAINCOL -------- ----------------------------------------------------------- 4 it is better here 1 record(s) selected. Việc bao bọc từ đó trong hai dấu ngoặc kép loại bỏ các biến thể của từ này và loại bỏ các từ đồng nghĩa và các từ khác có dạng chính tắc tương tự. Tuy nhiên, việc tìm kiếm có phân biệt chữ hoa, chữ thường và một số tiêu chuẩn hóa được áp dụng (xem phần Các dấu và Dấu chấm câu). Các tài liệu có thể được trả về mà không trùng khớp chính xác với các ký tự quy định, như thể hiện trong Bảng 1. Bảng 1. Bảng hiển thị ví dụ về hành vi tiêu chuẩn hóa Một tìm kiếm các từ này... Cũng trả về các tài liệu có chứa các từ này Hamlet hamlet resume résumé C++ C# Việc mở rộng tìm kiếm với các dạng chính tắc của từ được áp dụng cho từ tìm kiếm trực tiếp, không phải theo cách đệ quy. Ví dụ, từ good là một dạng chính tắc của từ good và từ better, do đó việc tìm kiếm từ khóa trả về các tài liệu có chứa một trong hai từ này đều được. Tuy nhiên, tìm kiếm từ khóa không kèm theo các tài liệu chỉ chứa các từ có các dạng chính tắc khác của từ better, do đó các tài liệu có chứa từ well không được đưa vào. Về đầu trang Biến cách của động từ và biến cách của danh từ, tính từ và đại từ Thông qua việc xác định các dạng chính tắc của từ, các biến cách của các danh từ, các đại từ, các tính từ, cũng như biến cách của động từ (chia động từ), được công nhận. Các tài liệu có chứa các biến thể như vậy được trả về trong một tìm kiếm từ khóa. Ví dụ, từ ran và từ running được trả về với từ run; và từ testing và từ tested được trả về với từ test, như trong Liệt kê 5. Liệt kê 5. Kết quả ví dụ về tìm kiếm từ khóa với từ test kèm theo các từ có nhiều biến cách select pk, plaincol from simpleen where contains(plaincol, 'test')=1 PK PLAINCOL -------- ----------------------------------------------------------- 16 we are testing this tomorrow 13 this cannot be tested properly 14 this is a test program 3 record(s) selected. Tìm kiếm cụm từ là nửa chính xác và nó loại bỏ các tài liệu chỉ chứa các phiên bản có nhiều biến cách của từ đó. Liệt kê 6. Kết quả ví dụ về tìm kiếm cụm từ với từ test loại bỏ các từ có nhiều biến cách select pk, plaincol from simpleen where contains(plaincol, '"test"')=1 PK PLAINCOL -------- ----------------------------------------------------------- 14 this is a test program 1 record(s) selected. Tùy thuộc vào ngôn ngữ được định nghĩa để tạo chỉ mục hoặc ngôn ngữ được quy định cho một truy vấn, một từ có thể được mở rộng trong lúc phân tích. Với một kho dữ liệu từ vựng của tài liệu ngôn ngữ hỗn hợp, một tài liệu có thể được kèm theo hoặc loại bỏ khỏi kết quả tìm kiếm, tùy thuộc vào ngôn ngữ được sử dụng để lập chỉ mục hoặc truy vấn. Ví dụ, nếu hai tài liệu tiếng Đức được bao gồm trong chỉ mục văn bản tiếng Anh và một tài liệu có chứa một biến cách của từ Regen (mưa), việc phân tích bằng từ điển tiếng Anh không công nhận cách thức sở hữu của từ Regen, đó là từ des Regens, trong khi chỉ mục của tiếng Đức hiển thị cả hai kết quả. Một tài liệu hay một phần của một tài liệu không theo ngôn ngữ chỉ mục được xử lý như một tài liệu theo ngôn ngữ không được hỗ trợ, trừ khi bắt gặp một từ là một phần trong từ điển, trong trường hợp đó từ này sẽ được xử lý theo các quy tắc của tập ngôn ngữ với chỉ mục. Liệt kê 7 hiển thị kết quả theo chỉ mục tiếng Anh. Liệt kê 7. Kết quả ví dụ về tìm kiếm từ khóa với từ regen theo chỉ mục tiếng Anh select pk, plaincol from simpleen where contains(plaincol, 'regen')=1 PK PLAINCOL -------- ----------------------------------------------------------- 56 der Sturm brachte Regen mit taubeneigroßen Hagelkörnern 1 record(s) selected. Liệt kê 8 hiển thị các kết quả theo chỉ mục tiếng Đức. Liệt kê 8. Kết quả ví dụ về tìm kiếm từ khóa regen theo chỉ mục tiếng Đức select pk, plaincol from simplede where contains(plaincol, 'regen')=1 PK PLAINCOL -------- ----------------------------------------------------------- 54 wegen des Regens wurde die Freilichtaufführung abgesagt 56 der Sturm brachte Regen mit taubeneigroßen Hagelkörnern 2 record(s) selected. Về đầu trang Các từ không mang trọng âm Về ngữ pháp các từ không mang trọng âm là độc lập, nhưng là các hình vị, phụ thuộc theo âm vị, chẳng hạn như s sở hữu trong tiếng Anh. Việc xử lý ngôn ngữ chia tách từ đó theo từ không mang trọng âm. Việc tìm kiếm dạng mẫu cơ bản trả về tất cả các biến cách, bao gồm các từ có s, sở hữu, như trong Liệt kê 9. Liệt kê 9. Kết quả ví dụ về tìm kiếm từ khóa theo dạng mẫu cơ bản select pk, plaincol from simpleen where contains(plaincol, 'girl')=1 PK PLAINCOL -------- ----------------------------------------------------------- 130 We are three siblings, all girls 131 The girl's sweater is blue 132 A girl gave me the book. 3 record(s) selected. Tìm kiếm cách thức có s sở hữu chỉ trả về một sự trùng khớp chính xác, như trong Liệt kê 10. Liệt kê 10. Kết quả ví dụ về tìm kiếm từ khóa dựa vào từ có các từ không mang trọng âm select pk, plaincol from simpleen where contains(plaincol, 'girl''s')=1 PK PLAINCOL -------- ------------------------------------------------------------ 131 The girl's sweater is blue 1 record(s) selected. Một tìm kiếm cụm từ theo s sở hữu chỉ trả về một sự trùng khớp chính xác, như trong Liệt kê 11. Liệt kê 11. Kết quả ví dụ về tìm kiếm cụm từ dựa vào từ có các từ không mang trọng âm select pk, plaincol from simpleen where contains(plaincol, '"girl''s"')=1 PK PLAINCOL -------- ------------------------------------------------------------ 131 The girl's sweater is blue 1 record(s) selected. Lưu ý rằng vì từ không mang trọng âm này chia tách từ thành các đoạn, nên tài liệu có chứa từ "girl"s" (của cô gái) được trả về với một tìm kiếm cụm từ theo dạng mẫu cơ bản. Liệt kê 12 cho thấy một ví dụ về tìm kiếm cụm từ theo từ cơ bản. Liệt kê 12. Kết quả ví dụ về tìm kiếm cụm từ theo từ cơ bản select pk, plaincol from simpleen where contains(plaincol, '"girl"')=1 PK PLAINCOL -------- ------------------------------------------------------------ 131 The girl's sweater is blue 132 A girl gave me the book. 2 record(s) selected. Về đầu trang Các từ đệm hoặc các từ quá phổ biến Các từ nào đó có trong chỉ mục văn bản, nhưng có thể không cần so khớp chúng khi chúng được gắn với các từ khác. Vì thế, việc đưa các từ này vào so khớp có lẽ cần một sự tuân thủ rõ ràng như một từ bắt buộc hoặc cần một sự kết hợp với một toán tử Bun. Điều này áp dụng cho cả tìm kiếm từ khóa lần tìm kiếm cụm từ. Các từ đệm này chủ yếu là một tập con các phần tử của các kiểu sau đây:  Một số các giới từ, chẳng hạn như in và on..  Các liên từ kết hợp, trừ các bộ nối câu yet và so.  Một số trợ động từ, chẳng hạn như can, may, has, am, were, và are; không ảnh hưởng đến could, might, ought, shall, should, will và would.  Các từ hạn định, chẳng hạn như các mạo từ, các đại từ chỉ định hoặc các từ hạn định sở hữu; không ảnh hưởng đến các từ hạn định phân phối, phân biệt hoặc cấp độ.  Các đại từ (tương tự như các từ hạn định). Ví dụ, một truy vấn với to be chỉ chứa các từ đệm (các từ phổ biến), vì thể sử dụng các từ đệm đó để chọn các sự trùng khớp trong tài liệu, như trong Liệt kê 13 Liệt kê 13. Kết quả ví dụ về tìm kiếm từ khóa chỉ dựa vào các từ phổ biến select pk, plaincol from simpleen where contains(plaincol, 'to be')=1 PK PLAINCOL ----- ----------------------------------------------------------- 1 to be or not to be 1 record(s) selected. Nhờ việc xử lý các tổ hợp Bun mặc định với các từ đệm, việc so khớp tập trung vào các từ không-đệm nếu có một tổ hợp các từ đệm và từ không-đệm trong một tìm kiếm. Ví dụ, Liệt kê 14 cho thấy một truy vấn to be or not to be với sự tập trung vào từ không-đệm là not. Liệt kê 14. Kết quả ví dụ về tìm kiếm từ khóa theo các từ hỗn hợp select pk, plaincol from simpleen where contains(plaincol, 'be or not to be')=1 PK PLAINCOL ----- ----------------------------------------------------------- 1 to be or not to be 33 my blog is not here, that's the wrong place 10 I can't rest here 15 he hasn't rested here 4 record(s) selected. Trong trường hợp này, tập kết quả có chứa các phần tử chỉ thực hiện một phần hoạt động AND của toán tử Bun ngầm định. Lưu ý rằng một tìm kiếm cụm từ (bao bọc các từ tìm kiếm trong hai dấu ngoặc kép) trả về các kết quả tương tự. Để có được một sự trùng khớp hơn nữa cho các trường hợp này, hãy sử dụng hoặc là toán tử bắt buộc (+) hoặc một toán tử Bun (AND) hiện rõ trong tìm kiếm từ khóa. Sự khác biệt giữa + và toán tử AND chỉ liên quan đến loại bỏ các từ đồng nghĩa. Ví dụ, Liệt kê 15 có chứa một từ be trong kết quả tìm kiếm. Liệt kê 15. Kết quả ví dụ về tìm kiếm từ khóa bằng toán tử bắt buộc select pk, plaincol from simpleen where contains(plaincol, 'to +be or not to be')=1 PK PLAINCOL ----- ----------------------------------------------------------- 1 to be or not to be 1 record(s) selected. Liệt kê 16 cho thấy tìm kiếm tương tự với một toán tử AND hiện rõ. Liệt kê 16. Kết quả ví dụ về tìm kiếm từ khóa với toán tử AND hiện rõ select pk, plaincol from simpleen where contains(plaincol, 'to AND be or not to be')=1 PK PLAINCOL ----- ----------------------------------------------------------- 1 to be or not to be 1 record(s) selected. Lưu ý rằng để chỉ ra một kết nối Bun, toán tử này phải xuất hiện dưới dạng chữ hoa. or chữ thường không được xử lý như toán tử Bun OR , not chữ thường cũng không được xử lý như NOT. Liệt kê 17 hiển thị một ví dụ. Liệt kê 17. Kết quả ví dụ về tìm kiếm từ khóa với toán tử NOT hiện rõ select pk, plaincol from simpleen where contains(plaincol, 'be or NOT to be')=1 PK PLAINCOL -------- ------------------------------------------------------------ 0 record(s) selected. Về đầu trang Các ký tự có dấu Các dấu có các mục đích khác nhau trong các ngôn ngữ khác nhau. Chúng có thể hoặc không thể tạo ra một chữ cái mới. Liệu một dấu có bị bỏ qua trong một tìm kiếm từ khóa phụ thuộc vào ngôn ngữ hay không và liệu một ký tự có là một ký tự mới hay không. Ví dụ, trong tiếng Anh, một tìm kiếm với từ resume đưa ra các tài liệu có chứa từ résumé, như trong Liệt kê 18. Liệt kê 18. Kết quả ví dụ về tìm kiếm từ khóa liên quan đến các ký tự có dấu không phân biệt được. (Tiếng Anh) select pk, plaincol from simpleen where contains(plaincol, 'resume')=1 PK PLAINCOL -------- ----------------------------------------------------------- 51 let's resume later 50 show me your résumé 2 record(s) selected. Các dấu tạo ra các chữ cái mới phân biệt được. Một tìm kiếm với từ schon theo một chỉ mục tiếng Đức không trả về các kết quả tương tự như một tìm kiếm với từ schöne, trong khi tìm kiếm với từ cafe trả về các kết quả có từ café, như trong Liệt kê 19. Liệt kê 19. Kết quả ví dụ về tìm kiếm từ khóa liên quan đến các ký tự có dấu không phân biệt được. (Tiếng Đức) select pk, plaincol from simplede where contains(plaincol, 'cafe')=1 PK PLAINCOL -------- ----------------------------------------------------------- 55 wir liefen stattdessen ins Café und setzten uns an ein freies Tischchen 1 record(s) selected. Các dấu trên a, o hoặc u tạo ra một chữ cái mới. Do đó, các kết quả tìm kiếm chỉ chứa các mục nhập có một ký tự trùng khớp, như trong Liệt kê 20. Liệt kê 20. Kết quả ví dụ về tìm kiếm từ khóa liên quan đến các ký tự có dấu phân biệt được. (Tiếng Đức) select pk, plaincol from simplede where contains(plaincol, 'schon')=1 PK PLAINCOL -------- ----------------------------------------------------------- 100 Ist es schon soweit? 1 record(s) selected. select pk, plaincol from simplede where contains(plaincol, 'schön')=1 PK PLAINCOL ----------- ----------------------------------------------------------- 102 Das war eine schöne Feier. 1 record(s) selected. Cách viết một từ tương phản về nguyên âm như ae, oe hoặc ue chỉ ánh xạ tới một sự trùng khớp tương ứng chính xác mà không cần mở rộng thêm nữa. Cách tìm kiếm này được áp dụng như một tìm kiếm cụm từ, do đó, không trả về các tài liệu có chứa một biến cách của từ tìm kiếm. Liệt kê 21. Kết quả ví dụ về tìm kiếm từ khóa có tương phản về nguyên âm mở rộng (Tiếng Đức) select pk, plaincol from simplede where contains(plaincol, 'schoene')=1 PK PLAINCOL -------- ----------------------------------------------------------- 102 Das war eine schöne Feier. 1 record(s) selected. select pk, plaincol from simplede where contains(plaincol, 'schoen')=1 PK PLAINCOL -------- ------------------------------------------------------------ 0 record(s) selected. Liệt kê 22 cho thấy từ laufen và läuft trả về các kết quả giống nhau, trong khi từ laeuft thay đổi cách viết được ánh xạ tới từ läuft viết đúng, nhưng không ánh xạ tới các biến cách khác. Liệt kê 22. Kết quả ví dụ về tìm kiếm có sự tương phản về nguyên âm (dấu hai chấm trên nguyên âm) select pk, plaincol from simplede where contains(plaincol, 'laufen')=1 PK PLAINCOL -------- ----------------------------------------------------------- 50 heute war ein wunderschöner Tag voll So