solr自动聚类

Solr 使用Carrot2完成了聚类功能,能够把检索到的内容自动分类, Carrot2聚类示例:

要想Solr支持聚类功能,首选要把Solr发行包的中的dist/ solr-clustering-4.2.0.jar, 复制到\solr\contrib\analysis-extras\lib下.然后打开solrconfig.xml进行添加配置:

<searchComponent name="clustering"

enable="${solr.clustering.enabled:true}"

class="solr.clustering.ClusteringComponent" >

<lst    name="engine">

<str    name="name">default</str>

<str    name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>

<str    name="LingoClusteringAlgorithm.desiredClusterCountBase">30</str><!--2~100-->

<str    name="LingoClusteringAlgorithm.clusterMergingThreshold">0.70</str><!--0~1-->

<str name="LingoClusteringAlgorithm.scoreWeight">0</str><!--0~1-->

<str    name="LingoClusteringAlgorithm.labelAssigner">org.carrot2.clustering.lingo.SimpleLabelAssigner</str><!--org.carrot2.clustering.lingo.UniqueLabelAssigner    -->

<str    name="LingoClusteringAlgorithm.phraseLabelBoost">1.5</str><!--0~10-->

<str    name="LingoClusteringAlgorithm.phraseLengthPenaltyStart">8</str><!--2~8-->

<str    name="LingoClusteringAlgorithm.phraseLengthPenaltyStop">8</str><!--2~8-->

<str    name="TermDocumentMatrixReducer.factorizationQuality">HIGH</str><!--LOW,MEDIUM,HIGH-->

<!--

org.carrot2.matrix.factorization.PartialSingularValueDecompositionFactory

org.carrot2.matrix.factorization.NonnegativeMatrixFactorizationEDFactory

org.carrot2.matrix.factorization.NonnegativeMatrixFactorizationKLFactory

org.carrot2.matrix.factorization.LocalNonnegativeMatrixFactorizationFactory

org.carrot2.matrix.factorization.KMeansMatrixFactorizationFactory

-->

<str    name="TermDocumentMatrixReducer.factorizationFactory">org.carrot2.matrix.factorization.NonnegativeMatrixFactorizationEDFactory</str>

<str    name="TermDocumentMatrixBuilder.maximumMatrixSize">37500</str><!--MinValue5000-->

<str    name="TermDocumentMatrixBuilder.titleWordsBoost">2.0</str><!--2~10-->

<str name="TermDocumentMatrixBuilder.maxWordDf">0.9</str><!--0~1-->

<!--org.carrot2.text.vsm.LogTfIdfTermWeighting,org.carrot2.text.vsm.LinearTfIdfTermWeighting-->

<str    name="TermDocumentMatrixBuilder.termWeighting">org.carrot2.text.vsm.TfTermWeighting</str>

<str    name="MultilingualClustering.defaultLanguage">CHINESE_SIMPLIFIED</str>

<str    name="MultilingualClustering.languageAggregationStrategy">org.carrot2.text.clustering.MultilingualClustering.LanguageAggregationStrategy.FLATTEN_MAJOR_LANGUAGE    </str><!--FLATTEN_ALL,FLATTEN_NONE-->

<str    name="GenitiveLabelFilter.enabled">true</str>

<str    name="StopWordLabelFilter.enabled">true</str>

<str    name="NumericLabelFilter.enabled">true</str>

<str    name="QueryLabelFilter.enabled">true</str>

<str    name="MinLengthLabelFilter.enabled">true</str>

<str    name="StopLabelFilter.enabled">true</str>

<str    name="CompleteLabelFilter.enabled">true</str>

<str    name="CompleteLabelFilter.labelOverrideThreshold">0.65</str><!--0~1-->

<str    name="DocumentAssigner.exactPhraseAssignment">false</str>

<str    name="DocumentAssigner.minClusterSize">2</str><!--1~100-->

<str    name="merge-resources">true</str>

<str    name="CaseNormalizer.dfThreshold">1</str><!--1~100-->

<str    name="PhraseExtractor.dfThreshold">1</str><!--1~100-->

<str    name="carrot.lexicalResourcesDir">clustering/carrot2</str>

<str    name="SolrDocumentSource.solrIdFieldName">id</str>

</lst>

</searchComponent>

配好了聚类组件后,下面配置requestHandler:

<requestHandler    name="/clustering"

startup="lazy"

enable="${solr.clustering.enabled:true}"

class="solr.SearchHandler">

<lst name="defaults">

<str    name="echoParams">explicit</str>

<bool    name="clustering">true</bool>

<str    name="clustering.engine">default</str>

<bool    name="clustering.results">true</bool>

<str    name="carrot.title">category_s</str>

<str name="carrot.snippet">content</str>

<str    name="carrot.url">path</str>

<str    name="carrot.produceSummary">true</str>

</lst>

<arr    name="last-components">

<str>clustering</str>

</arr>

</requestHandler>

有两个参数要注意carrot.title,carrot.snippet是聚类的比较计算字段,这两个参数必须是stored="true".carrot.title的权重要高于carrot.snippet,如果只有一个做计算的字段carrot.snippet可以去掉(是去掉不是值为空).设完了用下面的URL就可以查询了

http://localhost:8080/skyCore/clustering?q=*%3A*&wt=xml&indent=true

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:

关注超人学院java免费学习交流群:

时间: 2024-11-06 03:43:03

solr自动聚类的相关文章

Solr自动生成ID

在Solr中,每一个索引,都要有一个唯一的ID,类似于关系型数据库表中的主键.为了方便创建索引,需要配置自动生成的ID,即UUID. 一.配置schema.xml文件 添加uuid字段类型,修改字段id的类型. <field name="id" type="uuid" indexed="true" stored="true" required="true" multiValued="fals

用solr自动补全

自动补全已经变成了每一个应用程序基础部分特性.构建一个快速的,可扩展的自动补全对一个一直在增长数据的程序来说是个相当大的工程.我见过的其中最好的自动补全是Quora的搜索自动补全.我知道google和youtube也有最好的,但是我只想聚焦于小公司而不是巨头.这是一篇在Quora's autocomplete上解释的他们如何用C++设计构建的自动补全. 在这篇文章中,我们将使用solr搜索殷勤提供一个像样的自动补全.Solr像一个文档数据库一样工作,在这个数据库中,一条记录就是一个文档.在Sol

solr自动提示 - jquery ui autocomplete

需求: 搜索框中 输入部分关键词之后,有下拉联想提示.选中提示,使用鼠标或者使用enter键,则触发搜索功能.没有选择搜索提示,使用部分输入关键词作为搜索,直接使用enter键也能触发搜索功能.整个过程的实现,采用了jquery的跨域调用方式. val = $("#retrival").val(); retrival(val == '' ? "*:*" : val); }); //绑定回车 搜索 $("#retrival").keydown(fu

solr聚类

Solr 使用Carrot2完成了聚类功能,能够把检索到的内容自动分类, Carrot2聚类示例: 要想Solr支持聚类功能,首选要把Solr发行包的中的dist/ solr-clustering-4.2.0.jar, 复制到\solr\contrib\analysis-extras\lib下.然后打开solrconfig.xml进行添加配置:          <searchComponent name="clustering" enable="${solr.clus

solr入门教程

Solr 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试;两个核心配置文件介绍;维护索引;查询索引,和在查询中可以应用的高亮显示.拼写检查.搜索建议.分组统计.拼音检索等功能的使用方法. 1. Solr 是什么? Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中.Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式).它易于安装和配置,而且附带了一个基于HT

Solr调研总结(转)

Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试.两个核心配置文件介绍.中文分词器配置.维护索引.查询索引,高亮显示.拼写检查.搜索建议.分组统计.自动聚类.相似匹配.拼音检索等功能的使用方法. 在代码文本框中如有显示不全的,请在文本框中按Ctrl+A再复制. 版本 作者/修改人 日期 V1.0 gzk 2013-06-04 1. Solr 是什么? Solr它是一种开放源码的.基于 Luce

solr教程,值得刚接触搜索开发人员一看

Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试;两个核心配置文件介绍;维护索引;查询索引,和在查询中可以应用的高亮显示.拼写检查.搜索建议.分组统计.拼音检索等功能的使用方法. 版本 作者/修改人 日期 V1.0 gzk 2013-06-04       1. Solr 是什么? Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中.Solr

solr入门教程-较详细

Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试;两个核心配置文件介绍;维护索引;查询索引,和在查询中可以应用的高亮显示.拼写检查.搜索建议.分组统计.拼音检索等功能的使用方法. 版本 作者/修改人 日期 V1.0 gzk 2013-06-04       1. Solr 是什么? Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中.Solr

1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性

1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期) (1.4.2.5) 使用枚举字段 (1.4.2.6) 使用外部文件和程序 (1.4.2.7) 字段属性使用案例 字段类型定义和字段类型属性 字段类型元素fieldType包含4个信息的类型:name,class-实现类的名称,analyzer-用于字段类型的分析,字段属性Field. schem