如何在 solr 1.3 中获得准确的搜索结果?
我使用的是Solr 1.3。这是Solr 1.3的schema.xml。 (http://pastebin.com/NwEy9Kz6)。如果我搜索“英雄”(例如+电影名称:“英雄”),则包含“英雄”一词的最热门搜索文档,而不是完全匹配的“英雄”文档。例如《英雄》、《英雄》、《英雄希拉尔》、《英雄 2》、《Herold》、《英雄》。
我希望完全匹配的单词出现在搜索结果的顶部。请建议。
I am using Solr 1.3.This is the schema.xml of Solr 1.3. (http://pastebin.com/NwEy9Kz6). If i search for 'Hero' (e.g. +movieName:"Hero"), the Top most search document which contain the word "Hero", not the exact matching "Hero" document. e.g. Heroes, The Hero, Hero Hiralal, Heroes 2, Herold, Hero.
I want the exact match word appear on the top of the search result. Please suggest.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要在文档中创建第二个尚未标记化的字段。这可以使用默认模式中的字符串类型来完成。
如果您只想返回精确匹配,则可以仅在此字段上搜索。如果您想返回所有匹配项,但首先返回此匹配项,您可以搜索这两个字段。匹配两个字段会产生增强效果。
以下是字段定义的一些示例:
字段名称=“manufacturer”类型=“text_ws”索引=“true”存储=“true”
字段名称=“manufacturer_exact”类型=“字符串”索引=“true”存储=“false”
You need to create a second field in your document that has not been tokenized. This can be accomplished using the string type from the default schema.
If you only want to return exact matches you can just search on this field. If you would like to return all matches, but return this one first you can search both fields. Matching both fields results in a boosting effect.
Here are some examples of field definitions:
field name="manufacturer" type="text_ws" indexed="true" stored="true"
field name="manufacturer_exact" type="string" indexed="true" stored="false"