Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The sys.dm_fts_parser is a great DMF to get an idea of how Fulltext is parsing the sentence and what words are going to be stored in the internal index. For your first example I see the following output - </p> <pre><code>select * from sys.dm_fts_parser(N'"Pair: 1/2, half"', 1033, 0, 0) keyword group_id phrase_id occurrence special_term display_term expansion_type source_term 0x0070006100690072 1 0 1 Exact Match pair 0 Pair: 1/2, half 0x0031 1 0 2 Noise Word 1 0 Pair: 1/2, half 0x006E006E0031 1 0 2 Noise Word nn1 0 Pair: 1/2, half 0x0032 1 0 3 Noise Word 2 0 Pair: 1/2, half 0x006E006E0032 1 0 3 Noise Word nn2 0 Pair: 1/2, half 0x00680061006C0066 1 0 4 Exact Match half 0 Pair: 1/2, half </code></pre> <p>FT breaks up "1/2" and indexes it as 1, nn1, 2 and nn2('nn' is an internal representation for numeric values). In this case, the default stoplist is being used which additionally results in these values being tagged as noise words, hence they are not added to the index. Circumventing that is simple by either removing the entries from the stoplist or creating a new blank stoplist and associating that with the index.</p> <p>As of now there simply isn't any way of getting FT to ignore the '/' symbol which it is treating as a word separator in this case.</p> <p><strong>EDIT</strong> - Apparently, there is a workaround, and it involves creating a custom dictionary as <a href="http://technet.microsoft.com/library/cc263242.aspx" rel="nofollow">detailed here</a>. So, for the English language, I created a 'Custom0009.lex' file in the Binn directory and added an entry for '/'. Doing so shows the following output of sys.dm_fts_parser(don't forget to restart fdhost) - </p> <pre><code>select * from sys.dm_fts_parser(N'"Pair: 1/2, half"', 1033, NULL, 0) keyword group_id phrase_id occurrence special_term display_term expansion_type source_term 0x0070006100690072 1 0 1 Exact Match pair 0 Pair: 1/2, half 0x0031 1 0 2 Exact Match 1 0 Pair: 1/2, half 0x006E006E0031 1 0 2 Exact Match nn1 0 Pair: 1/2, half 0x002F 1 0 3 Exact Match / 0 Pair: 1/2, half 0x0032 1 0 4 Exact Match 2 0 Pair: 1/2, half 0x006E006E0032 1 0 4 Exact Match nn2 0 Pair: 1/2, half 0x00680061006C0066 1 0 5 Exact Match half 0 Pair: 1/2, half </code></pre> <p>Hope this helps.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload