提问人:spex66 提问时间:6/15/2011 更新时间:6/16/2011 访问量:1622
Solr:如何在文本字段上搜索完全匹配?有隐藏的 equal() 运算符吗?
Solr: How to search for a full match on a text field? Is there a hidden equal() operator?
问:
描述起来太简单了:
q=mydynamicfield_txt:“视频”
我只想在mydynamicfield是确切的“视频”时点击。 反过来,如何抑制点击,其中“视频”只是字段的一部分(如“家庭视频”)。
Solr3.1是否开箱即用地支持这一点,或者我是否必须在我的索引中添加我自己的特殊括号,例如“SOLRSTARTSOLR video SOLRENDSOLR”,以便稍后在“START”和“END”之间检索我的术语。一种手动正则表达式锚定。
这是 PITA,因为它需要在索引/GUI 中进行特殊处理并中断突出显示。
要走的路在哪里?
问候
彼得 (=PA=)
答:
0赞
yura
6/16/2011
#1
一种解决方案是创建untokenized(KeywordAnalyzed)字段并在其中进行搜索 - 您的所有文本都将是Solr索引中的不同标记。 另一种解决方案是编写过滤器,它将从索引中读取令牌计数并与查询令牌进行比较,即doc_tokens > query_tokens假设所有查询令牌都匹配的过滤器实体。
评论
0赞
Glen
1/18/2012
未标记化的字段可以工作,但未标记化字段的问题在于它们不适用于词干提取之类的东西。
评论