当前位置: 首页 > 知识库问答 >
问题:

如何得到更好的结果

卞轶
2023-03-14
    null

field name=“path_exact”type=“string”indexed=“true”stored=“true”termvectors=“true”/>

field name=“title”type=“text_general”indexed=“true”stored=“true”multivalued=“true”termvectors=“true”/>

提到的唯一键

使用below命令在solr中创建索引-

{“PATH_EXACT”:“ID1”,“TITLE”:“X1”}

{“PATH_EXACT”:“ID2”,“TITLE”:“X12”}

结果-

 <lst name="moreLikeThis">
     <result name="id1" numFound="0" start="0"/>
    <result name="id2" numFound="0" start="0"/>

谢谢你的帮助!

共有1个答案

薛弘厚
2023-03-14

我有点搞不清楚您到底做了什么,但是如果您想要设置MLT,您可以在核心目录中的solrconfig.xml中添加一个请求处理程序(我假设是Solr4.0或更高版本)。所以大致如下:

    <!-- More Like This -->
<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
    <lst name="defaults">
        <!--similar documents defaults-->
        <!--The fields to use for similarity-->
           <str name="mlt.fl">article_title, abstract_text</str>
        <!--Minimum Term Frequency - the frequency below which terms will be ignored in the source doc.-->
           <str name="mlt.mintf">2</str>
        <!--Minimum Document Frequency - the frequency at which words will be ignored which do not occur in at least this many docs.-->
           <str name="mlt.mintf">5</str>
        <!--Minimum word length below which words will be ignored.-->
           <str name="mlt.mintf">0</str>
        <!--Maximum word length above which words will be ignored.-->
           <str name="mlt.mintf">0</str>
        <!--Minimum number of query terms that will be included in any generated query.-->
           <str name="mlt.mintf">25</str>
        <!--Maximum number of query terms that will be included in any generated query.-->
           <str name="mlt.mintf">25</str>
    </lst>
</requestHandler>

然后只需在Solr上执行普通HTTP请求:

http://localhost:8983/solr/mlt?q="myquery"

或者在向“/select?”发送请求时只设置“&mlt=true”标志。请求处理程序,如solr Wiki提供的示例

http://localhost:8983/solr/select?q=apache&mlt=true&mlt.fl=manu,cat&mlt.mindf=1&mlt.mintf=1&fl=id,score
 类似资料:
  • 我正在使用一个挂起的意图来启动一个闹钟(使用AlarmManager)。我需要不同的结果代码启动的活动,基于两个按钮中的哪一个放在它的用户点击(Snooze或取消)。我怎么得到这个结果?不幸的是,在关闭活动上启动finish()方法之后,没有在父活动中启动onActivityResult()方法。在Android文档中,它指出

  • 我目前正在使用webstorm作为我的IDE选择,并且正在尝试安装更好的SQLite3,但是每次尝试安装时都会收到以下错误消息: 更新:我已经在故障排除页面上完成了所有操作,这是我得到的错误消息: 我已经安装了VSCode,“缺少任何VC++工具集”似乎是问题的症结所在

  • 仓库 Github:https://github.com/Yurunsoft/imi 目录结构 ├── bin // 可执行文件路径 ├── config // 框架核心配置文件 ├── doc // 文档 markdown 源文件 ├── mddoc // 文档 html 模版 ├── res // 资源文件 ├── src

  • 问题内容: 我一直在尝试发送HttpPost请求并获取响应,但是即使我能够建立连接,我仍然无法获得如何获取由请求-响应返回的字符串消息。 对不起,我听起来很幼稚,因为我是Java新手。请帮我。 问题答案: 尝试在您的响应中使用:

  • 数字显示在屏幕上。现在我如何创建一个“getResult”函数,当您单击equal按钮从我的operate()函数返回每个等式的结果时,该函数就可以工作了?现在,当您单击等号时,最后一个数字将保留在显示屏上,而不会发生任何事情。