首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于eDismax的邻近搜索

基于eDismax的邻近搜索
EN

Stack Overflow用户
提问于 2013-12-02 09:10:12
回答 1查看 1.8K关注 0票数 0

我用solr创建了一个搜索引擎。我想创建一个查询,如果用户搜索“学院”这个词,那么“名校”这个词相近的文档的得分就应该更高(即“名校”或“大学名校”)。如果著名这个词不在附近,那么它应该只根据“大学”这个词来计算分数。

我想要的是像这样的“名校”~2^10或“学院名”~1^10或“学院”

如何在eDismax中实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2013-12-02 10:23:36

您要寻找的是一个短语搜索,短语斜率为2。例如,在solrconfig.xml中设置默认值可能如下所示:

代码语言:javascript
复制
  <requestHandler name="/phraseSearch" class="solr.SearchHandler">
    <lst name="defaults">
        <str name="defType">edismax</str>
        <str name="wt">xml</str>
        <str name="fl">Title</str>
        <str name="qf">Name^2 Description</str> <!-- The fields (and their weightings) to search in.-->
        <str name="rows">500</str>
        <str name="pf">Name^4 Description^2</str> <!-- Phrase field (and their weightings). Fields to search for closely located matches -->
        <str name="ps">2</str> <!-- Phrase slop. How many tokens apart must words be to be able to qualify as a phrase-->
     </lst>
  </requestHandler>

控制查询中的短语搜索可能如下所示:

代码语言:javascript
复制
http://mySolrHost:8983/solr/myEDismaxQuery?q=Title:famous+college&defType=edismax&pf=Title&ps=2

有关使用eDismax的短语查询的更多信息可以在eDismax的Solr参考页面中找到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20324502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档