Solr:如何在文本字段上搜索完全匹配?有隐藏的 equal() 运算符吗?

Solr: How to search for a full match on a text field? Is there a hidden equal() operator?

提问人:spex66 提问时间:6/15/2011 更新时间:6/16/2011 访问量:1622

问:

描述起来太简单了:

q=mydynamicfield_txt:“视频”

我只想在mydynamicfield是确切的“视频”时点击。 反过来,如何抑制点击,其中“视频”只是字段的一部分(如“家庭视频”)。

Solr3.1是否开箱即用地支持这一点,或者我是否必须在我的索引中添加我自己的特殊括号,例如“SOLRSTARTSOLR video SOLRENDSOLR”,以便稍后在“START”和“END”之间检索我的术语。一种手动正则表达式锚定。

这是 PITA,因为它需要在索引/GUI 中进行特殊处理并中断突出显示。

要走的路在哪里?

问候

彼得 (=PA=)

全文搜索 solr 等于 match operator-keyword

评论

0赞 The Bndr 6/15/2011
你知道这个页面吗?wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
0赞 spex66 6/15/2011
嗯。。这是一个测验吗?对不起,但我在您提到的页面上的所有索引相关内容下都找不到提示。另一个提示?thx (=PA=)

答:

0赞 yura 6/16/2011 #1

一种解决方案是创建untokenized(KeywordAnalyzed)字段并在其中进行搜索 - 您的所有文本都将是Solr索引中的不同标记。 另一种解决方案是编写过滤器,它将从索引中读取令牌计数并与查询令牌进行比较,即doc_tokens > query_tokens假设所有查询令牌都匹配的过滤器实体。

评论

0赞 Glen 1/18/2012
未标记化的字段可以工作,但未标记化字段的问题在于它们不适用于词干提取之类的东西。