`
韩悠悠
  • 浏览: 839737 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

solr找到与查询结果相似的文档

    博客分类:
  • solr
 
阅读更多

找到与查询结果相似的文档:

http://localhost:8983/solr/select?q=name:edition&mlt=true&mlt.fl=name&mlt.mintf=1&mlt.mindf=1


mlt.fl:按照结果文档的哪一个field求相似。


mlt.mintf:结果文档中的本field的某一个词出现的tf大于此值,才以此词求相似。


mlt.mindf:通上,不过是df。


自定义的显示结果(非xml):

首先定义渲染器和名字:
<queryResponseWriter name="velocity" class="org.apache.solr. request.VelocityResponseWriter"/>
其次定义请求的处理器(包括显示的结果,行数,默认的查询域,查询的格式等等):<requestHandler name="/browse" class="solr.SearchHandler">
<lst name="defaults">
<str name="wt">velocity</str>
<str name="v.template">browse</str>
<str name="v.layout">layout</str>
<str name="title">Solr cookbook example</str>
<str name="defType">dismax</str>
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
<str name="qf">name</str>
</lst>
</requestHandler>

---------------------------------
匹配相似(moreLikeThis)
他的作用是查找相似的document。

首先在 solrconfig.xml 中配置 MoreLikeThisHandler
<requestHandler name="/mlt" class="solr.MoreLikeThisHandler">
</requestHandler>


然后我就可以请求 http://localhost:8080/solr/mlt?q=id:7&mlt.true&mlt.fl=name&mlt.mintf=1&mlt.mindf=1
上面请求的意思 查找 id 为 7 的 document ,然后返回与此 document 在 name 字段上相似的其他 document。需要注意的是 mlt.fl 中的 field 的 termVector=true 才有效果
<field name="name" termVector="true" .../>


当然 mlt.fl 也可以添加多个field ,用逗号隔开就行了

 

//相关搜索查询
		List relationList = new ArrayList();
		query = new SolrQuery();
		query.setQuery("title:"+ query_char.toString()+" AND type:2222");  
	        query.addField("title");  
	        query.setStart(0);  
	        query.setRows(10);
	        query.setParam("mlt", "true");
	        query.setParam("mlt.fl", "title");
	        query.setParam("mlt.mintf", "100");
	        query.setParam("mlt.mindf", "1");
	        try {
				QueryResponse response = server.query(query);
				SolrDocumentList docs = response.getResults();
				for (SolrDocument doc : docs) {
					Snaphost host = new Snaphost();
					System.out.println(doc.getFieldValue("title").toString());
					host.setKeyword(doc.getFieldValue("title").toString());
					relationList.add(host);
				}
			} catch (SolrServerException e) {
				e.printStackTrace();
			}

 

 

分享到:
评论

相关推荐

    solr7.5官方文档

    文档中解释了如何使用 Solr 的 MoreLikeThis 功能找到与给定文档相似的其他文档,这在推荐系统中非常有用。 #### 结果的分页 文档中提供了如何通过 Solr 实现搜索结果分页的方法,便于用户逐页浏览大量结果。 ###...

    solr 7 官方文档

    - **Caching**:Solr使用缓存机制提升查询速度,包括查询结果缓存、文档ID缓存等。 - **索引压缩**:索引的压缩可以减少存储空间,提高检索效率。 - **硬件配置**:合理的硬件配置,如SSD硬盘和足够的内存,有助...

    solr4.7中文企业开发参考文档

    1. **全文检索**:Solr的核心功能之一就是全文检索,它能对文档中的文本进行分析和索引,使用户可以通过关键词快速找到相关的文档。Solr使用了高效的倒排索引结构,支持模糊匹配和短语查询,提高了搜索的精确度和...

    solr5.5.4使用文档

    ### Solr 5.5.4 使用文档 #### 一、环境配置与部署步骤 **1.1 环境需求** - **JDK**: 1.7 或以上版本。 - **Tomcat**: 8 或以上版本。 - **Solr**: 5.5.4 版本。 - **SolrJ**: 5.5.4 版本。 **1.2 部署步骤** 1...

    solr查询语法.pdf

    在Solr中,分面查询的结果字段为facet_counts,与responseHeader、response同级。 拼写检查功能允许用户对查询词进行校正,以提供更准确的搜索结果。这通过在solrconfig.xml中配置名为SpellCheckComponent的...

    solr技术文档

    当文档准备好后,通过Solr的API将它们发送到索引中,最后在应用程序中集成搜索功能,通过调用Solr的搜索API实现用户查询。 安装Solr非常简单,对于Linux系统,执行`bin/solr start [-p port]`即可启动,Windows系统...

    Solr文档.pdf

    安装后,Solr主要目录结构包括bin(运行脚本)、contrib(贡献插件)、dist(war和jar文件及相关依赖)、docs(API文档)、example(Solr工程的例子目录)、licenses(许可信息)等。Solr4.10.3要求使用1.7以上的JDK...

    easynet.solr开发与使用

    开发者可以通过指定文档ID,找到目标文档,然后更新其中的字段,再提交修改,确保Solr中的数据始终与应用的数据保持同步。 3. 删除:当需要删除特定数据时,Easynet.Solr提供了删除文档的功能。可以根据文档ID或者...

    solr查询语法

    Solr查询语法是Apache Solr搜索引擎的核心组成部分,用于精确、高效地从索引中检索信息。根据提供的文件信息,我们将深入探讨Solr查询语法的关键概念、查询规则、查询参数以及检索运算符,以便更好地理解和应用Solr...

    solr-4.10.3.rar

    2. **索引与查询**:Solr的核心功能是对文档进行索引,并提供高效的查询服务。索引过程包括分析、字段处理、倒排索引等步骤,这些都使得Solr能够在大量数据中快速找到相关结果。查询时,Solr支持多种查询语法和过滤...

    Apache Solr(solr-8.11.1.zip)

    11. **JSON支持**:Solr 8.x增强了对JSON的支持,允许用户使用JSON格式进行索引和查询,简化了与其他系统的集成。 12. **Cloud UI**:SolrCloud模式提供了一个Web界面,名为Cloud UI,用于监控集群状态、管理集合和...

    Apache Solr(solr-8.11.1.tgz)

    在部署和使用Solr时,了解Solr的生命周期管理、集群配置、备份与恢复策略,以及如何监控和调整性能都是至关重要的。熟悉这些知识点,可以帮助你更好地利用Apache Solr构建高性能的企业级搜索解决方案。

    全文搜索技术solr Demo

    查询阶段,Solr接收用户输入的查询请求,通过索引快速定位到相关文档;结果返回阶段,Solr对匹配的文档进行排序,并返回给用户。 三、Solr安装与配置 在"solr-4.10.3.rar"中,包含了Solr的完整源码和运行环境。解压...

    Solr分组统计

    而精确查询则确保返回的结果与查询词完全一致,这对于查找特定的术语或短语非常有用。 在`EasyNet.Solr.sln`中,这是一个Visual Studio解决方案文件,包含了整个项目的所有组件和依赖关系。`EasyNet.Solr`可能是...

    solr部署技术文档。

    - **相关性排序**:搜索结果按照与查询的相关性排序。 - **返回结果**:最终将排序后的结果返回给用户。 **二、Solr搭建过程** 1. **下载与安装**:下载Solr 4.10.3,确保系统环境已安装JDK 1.7或更高版本。 2. ...

    solr开发应用教程

    5. 近似搜索:通过模糊匹配,找到与输入关键词相似的搜索结果。 6. 聚类和分类:对搜索结果进行自动聚类,帮助用户发现相关主题。 六、分布式搜索 SolrCloud是Solr的分布式解决方案,支持Sharding和Replication,...

    solr搜索自动补全

    在前端页面配置完成后,当用户开始在搜索框输入文字,会触发对应的JavaScript事件,然后JavaScript调用后端Solr服务器提供的接口,查询到合适的补全建议,并将结果展示给用户。 在实际的开发过程中,除了上述提及的...

Global site tag (gtag.js) - Google Analytics