2014-01-08 78 views
0

在我Solr的文件我用一个多值字段存放一些colorIDs需要找到唯一确切的多值字段匹配

(如“10”,“130”,“190”)

如果我查询我搜索colorID 30(fq = colorID:30)我得到的文档具有30作为colorID,但另外还有只有“130”作为多值字段的一部分的结果。 但我只需要让那些完全匹配到“30”的人

是否可以设置该字段以仅获得准确的结果? 我必须使用什么FilterFactory,Tokenizers等......

任何帮助都可以。

回答

1

假设您在Solr中使用内置字段类型,则可以使用该字段的“字符串”数据类型完成精确匹配。 (您也可以使用“int”,但是如果您正在执行严格的查询类型的查询,则字符串就足够了。)

从schema.xml发布您的架构定义以阐明。

+0

'如果我使用类型为”string“的领带”_raw“正确的结果。谢谢你的帮助! –

+0

好吧,听起来像那样,但你的原始查询违背了“ColorID”,这在这里没有定义(它可能是一个动态的领域?)另外,你可能不需要在你的领域“multiValued”,除非你考虑这些字段是每个文档的一系列信息。 – jro

+0

啊......对不起......我把这些字段名混合在一起写下我的例子。我在字段定义和我的查询中使用“searchColor”;) –

相关问题