Solr:如何在文本字段中搜索完整匹配项?是否存在隐藏的 equal() 运算符?
描述起来太简单了:
q=mydynamicfield_txt:"video"
我只想当 mydynamicfield 为精确时点击视频。 换句话说,如何抑制点击量,其中“视频”只是该领域的一部分(例如“家庭视频”)。
这是开箱即用的 Solr3.1 支持的吗?还是我必须在索引中添加我自己的特殊括号,例如“SOLRSTARTSOLR video SOLRENDSOLR”,以便稍后在“START”和“之间检索我的术语”结尾”。一种手动正则表达式锚定。
这是 PITA,因为它需要在索引/gui 中进行特殊处理并中断突出显示。
路在何方?
问候
彼得 (=PA=)
it is too simple to describe:
q=mydynamicfield_txt:"video"
I want only hits when mydynamicfield is exact "video.
Other way round, how to supress hits, where "video" is only part of the field (like "home video").
Is this supported with Solr3.1 out of the box, or do I have to add my own special brackets like "SOLRSTARTSOLR video SOLRENDSOLR" in my index, to retrieve later my term between "START" and "END". Kind of manual regex anchoring.
This is PITA cause it needs special handling in index/gui and breaks highlighting.
Where is the way to go?
regards
Peter
(=PA=)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一种创建未标记化(KeywordAnalyzed)字段并在其中搜索的解决方案 - 所有文本都将是 Solr 索引中的不同标记。
其他解决方案是编写过滤器,该过滤器将从索引读取令牌计数并与查询令牌进行比较,即过滤器实体,其中 doc_tokens > 。 query_tokens 假设所有查询令牌都匹配。
One solution to create untokenized(KeywordAnalyzed) field and search within it - all your text will be distinct token in Solr index.
Other solution is to write filter which will read token count from index and compare to query tokens i.e. filter entities where doc_tokens > query_tokens assuming that all query tokens are matched.