28.01.2013 Views

SAP HANA Developer Guide - Get a Free Blog

SAP HANA Developer Guide - Get a Free Blog

SAP HANA Developer Guide - Get a Free Blog

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Stopword Example<br />

CREATE COLUMN TABLE stopwords<br />

(<br />

stopword_id VARCHAR(32) PRIMARY KEY,<br />

list_id VARCHAR(32) NOT NULL,<br />

language_code CHAR(2) NOT NULL,<br />

term NVARCHAR(200) NOT NULL<br />

);<br />

CREATE COLUMN TABLE companies<br />

(<br />

id INTEGER PRIMARY KEY,<br />

companyname SHORTTEXT(200) FUZZY SEARCH INDEX ON<br />

);<br />

INSERT INTO companies VALUES ('1', '<strong>SAP</strong> AG');<br />

INSERT INTO companies VALUES ('2', '<strong>SAP</strong> Aktiengesellschaft');<br />

INSERT INTO stopwords VALUES ('1', '01', 'de', 'AG');<br />

INSERT INTO stopwords VALUES ('2', '01', 'de', 'Aktiengesellschaft');<br />

INSERT INTO stopwords VALUES ('3', '01', 'de', 'blub');<br />

Query 1: User input without stopwords. Stopwords in the database table only.<br />

SELECT TO_DECIMAL(SCORE(), 3, 2) AS score, *<br />

FROM companies<br />

WHERE CONTAINS(companyname, 'sap', FUZZY(0.8, 'stopwordTable=stopwords,<br />

stopwordListId=01, textSearch=compare'))<br />

ORDER BY score DESC, ID;<br />

SCORE ID COMPANYNAME<br />

0.95 1 <strong>SAP</strong> AG<br />

0.95 2 <strong>SAP</strong> Aktiengesellschaft<br />

Query 2: User input with stopword. Other stopwords in the database table.<br />

SELECT TO_DECIMAL(SCORE(), 3, 2) AS score, *<br />

FROM companies<br />

WHERE CONTAINS (companyname, 'sap blub', FUZZY(0.8,<br />

'stopwordTable=stopwords, stopwordListId=01, textSearch=compare'))<br />

ORDER BY score DESC, ID;<br />

SCORE ID COMPANYNAME<br />

0.95 1 <strong>SAP</strong> AG<br />

0.95 2 <strong>SAP</strong> Aktiengesellschaft<br />

Query 3: User input with stopword. One record with matching stopword, one record with differing stopword.<br />

SELECT TO_DECIMAL(SCORE(), 3, 2) AS score, *<br />

FROM companies<br />

WHERE CONTAINS (companyname, 'sap aktiengesellschaft', FUZZY(0.8,<br />

'stopwordTable=stopwords, stopwordListId=01, textSearch=compare'))<br />

ORDER BY score DESC, ID;<br />

<strong>SAP</strong> <strong>HANA</strong> <strong>Developer</strong> <strong>Guide</strong><br />

Enabling Search<br />

P U B L I C<br />

© 2012 <strong>SAP</strong> AG. All rights reserved. 293

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!