首页 > 其他分享 >xunsearch 解决单字符、无意义字符被分词导致的搜索不准确问题

xunsearch 解决单字符、无意义字符被分词导致的搜索不准确问题

时间:2023-09-03 22:34:04浏览次数:40  
标签:字符 服务 启动 xunsearch searchd stopwords xs txt 分词

Xunsearch 配置好启动服务后,我们进行搜索会发现一些单字符如 等被分词,导致搜索结果中出现了与搜索目标不一致但包含这些字符的结果,如此会导致搜索结果不准确。

对于这种问题 Xunsearch 提供了 stopwords.txt 配置文件解决这个问题,只需要将想过滤掉的字符一行一个添加到该文件中,并在启动 xs-searchd 服务时通过 -s 参数 引入 stopwords.txt 文件即可。

sudo /usr/local/xunsearch/bin/xs-searchd -s ./etc/stopwords.txt

解决 stopwords.txt 不生效问题

在启动 Xunsearch 服务时需要同事启动 xs-indexdxs-searchd 服务, 我们一般使用一键启动脚本 xs-ctl.sh 同时启动这两个服务。

问题就出现在这个脚本,在这个脚本中的 xs-searchd 服务启动命令中没有使用 -s 参数引入 stopwords.txt 文件,因此我们要手动修改 xs-ctl.sh ,添加对 stopwords.txt 文件的引入。

sudo vim /usr/local/xunsearch/bin/xs-ctl.sh

case "$cmd" in
  start|stop|faststop|fastrestart|restart|reload)
  # index 服务
  if test "$server" != "search"; then
    bin/xs-indexd $opt_index $opt_pub -k $cmd
  fi
  # search 服务
  if test "$server" != "index"; then
  	# 在 xs-searchd 启动命令中通过 -s 引入 stopwords.txt  文件
    bin/xs-searchd $opt_search $opt_pub -s /usr/local/xunsearch/etc/stopwords.txt -k $cmd
  fi 
  ;;  
*)

保存修改后重启服务即可解决。

标签:字符,服务,启动,xunsearch,searchd,stopwords,xs,txt,分词
From: https://blog.51cto.com/sdwml/7343602

相关文章

  • 剑指 Offer 58 - II. 左旋转字符串
    剑指Offer58-II.左旋转字符串翻转前n个字符翻转其余字符翻转所有字符classSolution{publicStringreverseLeftWords(Strings,intn){char[]ch=s.toCharArray();reverse(ch,0,n-1);reverse(ch,n,ch.length-1);rever......
  • 统计一个字符串的 k 子序列美丽值最大的数目
    k子序列指的是s的一个长度为k的子序列,且所有字符都是唯一的,也就是说每个字符在子序列里只出现过一次。定义f(c)为字符c在s中出现的次数。k子序列的美丽值定义为这个子序列中每一个字符c的f(c)之和1.贪心+组合枚举贪心选美丽值最大的字符,对于最后美丽值相......
  • 字符串操作函数2
    strncat的用法,注意要追加\0。intmain(){ //strncmp字符串比较函数 constchar*p1="abcdef"; constchar*p2="abcqwer"; intret=strncmp(p1,p2,3); printf("%d\n",ret); return0;}intmain(){ char*p1="abcdef"; char......
  • Lnton羚通算法算力云平台使用支持向量机来识别手写字符相关步骤
    使用支持向量机(SupportVectorMachine,SVM)来识别手写字符是一个常见的机器学习任务。下面是一个基本的步骤:数据准备:收集手写字符的训练数据集和测试数据集。每个样本应该包括一个手写字符图像和相应的标签或类别。特征提取:从手写字符图像中提取特征。常见的特征提取方法包括使用......
  • response中的字符流的设置案例
    2023-09-03packagecom.hh.response;/***@authorhh*@version1.0*@DATE2023-09-0313:32:10*/importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.Ht......
  • Java:commons-codec实现byte数组和16进制字符串转换
    目录commons-codec实现原理封装StringUtil类commons-codec文档https://commons.apache.org/proper/commons-codec/https://mvnrepository.com/artifact/commons-codec/commons-codec坐标<dependency><groupId>commons-codec</groupId><artifactId>com......
  • Java使用有限状态机算法实现判断字符串是否合法
    题目描述请根据给出的正则表达式来验证邮箱格式是否合法,如果用户输入的格式合法则输出「邮箱格式合法」,否则输出「邮箱格式不合法」。正确格式对应的正则表达式"[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+";输入:[email protected]输出:邮箱格式合法分析最容易想到的是正则表达......
  • Leetcode 剑指 Offer 58 - II. 左旋转字符串(Zuo xuan zhuan zi fu chuan lcof)
    题目链接字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例1:输入:s="abcdefg",k=2输出:"cdefgab"示例2:输入:s=......
  • # yyds干货盘点 # 分享一个Python字符串替换的基础题目(中篇)
    大家好,我是皮皮。一、前言上一篇文章,【瑜亮老师】引申了下字符串处理的题目,如下所示:扩展一下,下面的结果是什么:strs='abbacabbc'print(strs.strip('ab'))二、实现过程这里【王子】还是有点东西的,全部都回答正确了。那么再扩展下呢?你能够回答的出来吗?下一篇文章,我们揭晓答案。三、......
  • sql server id在字符串集中的 sql plus主机字符串
    SQL*PLUS里主机字符串 主机字符串就是描述主机的字符串,通常在oracle_home/network/admin下的tnsnames.ora文件里面配置 主机字符串包如下其中MYORCL就是主机字符串MYORCL=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PO......