读取onymous_path_path时出现IOException(同义词令牌过滤器)

时间:2019-09-03 06:51:52

标签: elasticsearch

我正在对自定义文件使用同义词标记过滤器

在Windows 10计算机上将Elasticsearch 6.7安装为服务 我的 synonyms.txt 位于C:\ProgramData\Elastic\Elasticsearch\config\analysis\synonyms.txt

这是我的索引设置

PUT /synonyms
{
   "settings": {
     "analysis": {
       "filter": {
         "synonym": {
           "type": "synonym",
           "synonyms_path": "analysis/synonyms.txt"
         }
       },
     "analyzer": {
       "my_analyzer": {
         "tokenizer": "standard",
         "filter": [
           "lowercase",
           "synonym"
         ]
       }
     }
     }
   },
   "mappings": {
     "_doc": {
       "properties": {
          "description": {
             "type": "text",
             "analyzer": "my_analyzer"
          }
       }
     }
   }
}

在创建上述索引时出现此错误

{
   "error": {
     "root_cause": [{
        "type": "illegal_argument_exception",
        "reason": "IOException while reading synonyms_path_path: C:\ProgramData\Elastic\Elasticsearch\config\analysis\synonyms.txt"
     }],
   "type": "illegal_argument_exception",
   "reason": "IOException while reading synonyms_path_path: C:\ProgramData\Elastic\Elasticsearch\config\analysis\synonyms.txt",
   "caused_by": {
   "type": "no_such_file_exception",
   "reason": "C:\ProgramData\Elastic\Elasticsearch\config\analysis\synonyms.txt"
   }
},
"status": 400
}

还尝试在Elasticsearch中将同义词标记过滤器安装为Windows机器上的存档分发文件 .zip ,但出现相同错误 但是在linux机器中,无论是存档还是软件包分发,它都可以正常工作。

先谢谢了。搜索愉快

1 个答案:

答案 0 :(得分:1)

这里的问题是文件扩展名从控制面板中隐藏。因此,您只需转到控制面板>文件资源管理器选项>单击查看选项卡,然后取消选中选项(隐藏已知文件类型的扩展名) it should look something like this 现在相应地重命名文件,然后重试