博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
solr的suggest模块
阅读量:6994 次
发布时间:2019-06-27

本文共 1967 字,大约阅读时间需要 6 分钟。

solr的suggest模块

solr有个suggest模块,用来实现下拉提醒功能,就是输入了一个文本之后,进行文本建议查找的功能。

suggest请求的url

http://localhost:8983/solr/hotquestions/suggest?suggest=true&suggest.build=true&suggest.dictionary=mySuggester&wt=json&suggest.q=elec

这里可以看到有几个参数:

suggest=true

这个参数必须为true,表示我这次请求是suggest请求。

suggest.q

进行查询建议的文本

suggest.dictionary

搜索组建中词典的名字,这个参数必须填写,你可以在请求体中带上这个参数,也可以在请求参数中带上。

suggest.count

suggest请求返回的suggest数。

suggest.cfg

这个不是必填的,如果suggester支持,用于内容过滤。

suggest.build

如果设置为true,这个请求会导致重建suggest索引。

这个字段一般用于初始化的操作中,在线上环境,一般不会每个请求都重建索引,如果线上你希望保持字典最新,最好使用buildOnCommit或者buildOnOptimize来操作。

suggest.reload

如果设置为true,会重新加载suggest索引。

suggest.buildAll

如果设置为true,会重建所有suggest索引。

suggest.reloadAll

如果设置为true,会重新加载所有suggest索引。

suggest模块的配置

mySuggester
FuzzyLookupFactory
DocumentDictionaryFactory
cat
price
string

name

suggester的名字,如果设置多个,可以在请求中指定。

lookupImpl

查找方式的具体实现,有几种方式:

  • AnalyzingLookupFactory: 这个查询方式先对查询的输入文本进行分析,构建出一个FST树,然后再进行查询。
  • FuzzyLookupFactory: 这个查询方式是AnalyzingLookupFactory的扩展,只不过是一种模糊匹配。
  • AnalyzingInfixLookupFactory: 这个查询方式对输入的文本进行分析,然后建议出前缀匹配的索引文本。
  • BlendedInfixLookupFactory: 这个查询方式是AnalyzingInfixSuggester的扩展,这个查询方式可以为分析后的文本设置一些权重,你可以设置权重正序或逆序。
  • FSTLookupFactory: 基于自动机的查询。这个方式构建比较慢,但是使用内存更少。除非你需要更复杂的结果,否则就不需要使用这种方式。
  • TSTLookupFactory: 一个简单的,基于trie树的查找。
  • WFSTLookupFactory:
  • JaspellLookupFactory:

dictionaryImpl

字典的具体实现,具体有几种方式:

  • DocumentDictionaryFactory: 一个基于词语,权重,和一个有效的索引中的负荷。
  • DocumentExpressionDictionaryFactory: 和DocumentDictionaryFactory一样,但是允许用户设置复杂的"weightExpression"标签来设置权重
  • HighFrequencyDictionaryFactory: 允许增加一个阀值来修改返回结果
  • FileDictionaryFactory: 允许使用一个外部的文件来包含建议的结果。权重也是可以在外部文件中有所加载的。
  
    
true
    
10
  
  
    
suggest
  

suggest的handler,主要设置了建议返回的默认个数,默认使用的suggest组件等。

参考文章

转载地址:http://igivl.baihongyu.com/

你可能感兴趣的文章
Apache部署静态html
查看>>
HTTP请求方法
查看>>
关于海量数据的数据模型
查看>>
springcloud(六):配置中心git示例
查看>>
UVA 11021 Tribbles [数学概率]
查看>>
结合MVC.NET相关知识实现在线卖酒销售项目(三)
查看>>
开机自启动电话拦截
查看>>
初学maven-五节
查看>>
ISO镜像安装Ubuntu 13.04 64位,启动菜单制作
查看>>
查看pid
查看>>
java程序员修炼之道
查看>>
JS基础学习05
查看>>
windows下显示隐藏的文件
查看>>
Windows下输入法全角符,半角符的切换
查看>>
第5周团队作业1
查看>>
三角形的四心的向量表示
查看>>
weighted_cross_entropy_with_logits
查看>>
java 伪共享
查看>>
SSM项目使用GoEasy 实现web消息推送服务
查看>>
eclipse+cdt开发cpp的一些小问题
查看>>