Solr Suggest智能提示配置说明
2015-03-11 20:28
232 查看
有时候,为了实现如下功能
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/15/dc12a3c83cf7870ad497343bfcbbd9bc)
以满足用户在输入个别单词的时候,能够自动联想提示,这样可以避免用户的冗余输入并提供一定的推荐,从而实现更好的交互效果和内容推广效果。这样的功能有很多实现方式,成熟的Solr其实就已经封装了这样的功能,而且只需要简单的配置就可以完成。(注,本人使用的是Solr-4.10.0版本)
1. 配置suggest功能点
打开solr-config.xml,查找到spellcheck节点
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/15/110a3751a6e60c76d8324cea17118dba)
如上提供配置spellchecker配置,可以用于修改最大只能提示词汇量
定位solr.SuggestComponent,主要如下说明,修改sourceLocation参数,根据这个参数的配置,我们可以知道,solr拉取只能提示的文件在以当前路径下的suggest文件夹中的dict.txt文件中。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/15/ace206c872262588dea1cae5bcf946c3)
配置完后,根据mySuggester的说明,可以知道请求路径是/suggest
2. 添加只能联想词汇表
如上述说明,需要在solr-config.xml同级目录创建suggest文件夹,并在其下面创建dict.txt文件,如下所示
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/15/df31418ec6da402d99a588452eaeeb6c)
其中,dict.txt文件格式如下
3. 测试
请求地址http://localhost:8080/project-name/core-name/suggest?q=香
返回结果如下
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/15/095b6422deb77d2bd12ebcd1a1157148)
返回由“香”开头的所有词汇,包括其权重和payload两个值,可以发现,由于weight是long类型,所以分数对排序并没有起作用。
Solr Suggest组件是支持实时新增词汇的,实现这个机制,只需要在请求中加一个参数,如下测试
我们先新增词汇如下:
请求地址http://localhost:8080/project-name/core-name/suggest?q=香
没有任何结果,这是为什么?文件变更,没有钩子触发,只能显示触发文件的重新加载。
只需要修改请求地址
http://localhost:8080/project-name/core-name/suggest?suggest.build=true&q=香
返回结果如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/15/cf9c0f48d9d5094866d2a43a24f2deaf)
这个demo我没有对suggest请求和返回做封装,对于不同的展示需求,和分词需求,可以对suggest组件再做一层封装。具体可以参考 /article/7463717.html
以满足用户在输入个别单词的时候,能够自动联想提示,这样可以避免用户的冗余输入并提供一定的推荐,从而实现更好的交互效果和内容推广效果。这样的功能有很多实现方式,成熟的Solr其实就已经封装了这样的功能,而且只需要简单的配置就可以完成。(注,本人使用的是Solr-4.10.0版本)
1. 配置suggest功能点
打开solr-config.xml,查找到spellcheck节点
如上提供配置spellchecker配置,可以用于修改最大只能提示词汇量
定位solr.SuggestComponent,主要如下说明,修改sourceLocation参数,根据这个参数的配置,我们可以知道,solr拉取只能提示的文件在以当前路径下的suggest文件夹中的dict.txt文件中。
配置完后,根据mySuggester的说明,可以知道请求路径是/suggest
2. 添加只能联想词汇表
如上述说明,需要在solr-config.xml同级目录创建suggest文件夹,并在其下面创建dict.txt文件,如下所示
其中,dict.txt文件格式如下
#可以使用#做注释 #格式:词[\t权重值] aquire aquire2 aquire3 #中文 让我们荡起双桨 贝瓦儿歌 #香格里拉 香格里拉 1.2 香格里拉县 1.5 香格里拉酒店 3 |
请求地址http://localhost:8080/project-name/core-name/suggest?q=香
返回结果如下
返回由“香”开头的所有词汇,包括其权重和payload两个值,可以发现,由于weight是long类型,所以分数对排序并没有起作用。
Solr Suggest组件是支持实时新增词汇的,实现这个机制,只需要在请求中加一个参数,如下测试
我们先新增词汇如下:
#新增词汇 美女 美人 美人胚子 |
没有任何结果,这是为什么?文件变更,没有钩子触发,只能显示触发文件的重新加载。
只需要修改请求地址
http://localhost:8080/project-name/core-name/suggest?suggest.build=true&q=香
返回结果如下:
这个demo我没有对suggest请求和返回做封装,对于不同的展示需求,和分词需求,可以对suggest组件再做一层封装。具体可以参考 /article/7463717.html
相关文章推荐
- solr4.10 配置suggest 智能提示
- solr suggest智能提示配置
- Solr Suggest实现搜索智能提示
- solr智能提示 suggest(针对索引的某个字段建立索引词库做智能提示)
- solr搜索智能提示Suggest
- solr搜索智能提示Suggest
- 智能提示(一) Solr (suggest)
- Solr Suggest实现搜索智能提示
- 五 solr5配置热词搜索完成智能提示
- solr智能提示 suggest(基于提示词文本做智能提示)
- 智能提示(一) Solr (suggest)
- nutch+solr 实现suggest智能提示,前台采用jQuery
- Solr Suggest实现搜索智能提示
- Solr Suggest实现搜索智能提示
- 为什么VS插件项目智能感应不提示文字说明?
- Eclipse 下使用 Spket 配置Extjs智能提示
- Solr高亮的配置参数说明
- 配置myeclipse中XML文件的智能提示
- 如何为VS添加编写NHibernate配置文件智能提示的功能
- 在vs2008中jquery的智能提示配置