2012-10-23 33 views
2
SELECT occurrence, display_term 
FROM sys.dm_fts_parser ('"ROBIX 156 DM"', 1033, null, 0) 

不会返回预期的结果(display_term):意外的分词结果2012

robix 
156 
nn156 
dm 

robix 
156 dm 
nn156dm 

什么是 'DM',为什么它导致意想不到的结果从断字符开始,以及如何避免它?

回答

0

这里可能发生的情况是,DM被识别为货币(德国马克),导致断字符与主要数值相关联。我试着用美元取代DM和最终得到了相同的结果 -

SELECT occurrence, display_term 
FROM sys.dm_fts_parser ('"ROBIX 156 USD"', 1033, null, 0) 

occurrence display_term 
1 robix 
2 156 usd 
2 nn156usd 

我不知道的工作围绕在这一点上,而是将更新线程,如果当我找到一个解决方案。

+0

你有没有弄清楚如何执行明确的查询,如你的榜样?在搜索AZM时遇到同样的问题 - 如果索引文本是“AZM 30”,则display_terms是“azm 30”和“nn30azm” - 但是,如果AZM小写为“azm 30”,则display_terms是“azm”,“30”和“nn30”。 希望我能解决这个问题,因为我不想加载一个较老的分词或小写的一切。 – stu

0

解析器是确定货币可以确认使用:

SELECT occurrence, display_term 
FROM sys.dm_fts_parser ('"ROBIX 156 euro"', 1033, null, 0) 


occurrence display_term 
1   robix 
2   156 euro 
2   nn156eur 
+0

你可以编辑它并格式化代码或输出为代码(使用{}图标)。目前还不清楚输出是什么以及如何输出格式。 – blm