Elastic查询apprentissage索引文档无匹配结果求助
关于Elastic query_string查询无匹配结果的原因分析
字段映射类型不对:先检查
content和title字段的映射配置。如果导入PDF时默认将字段设为keyword类型,那只能匹配完全一致的字符串,无法实现全文搜索。用这条命令查看索引映射:GET apprentissage/_mapping若字段是
keyword,需要改为text类型才能支持分词搜索(注意修改映射后需重新索引数据)。分词器不匹配:
comparaison是法语词汇,默认的standard分词器对法语的处理效果不佳。如果你的文档是法语内容,应该使用french分词器,这样才能正确拆分和处理法语词汇,让查询能够命中目标内容。query_string语法有误:确保查询语句正确指定了要搜索的字段,示例写法如下:
{ "query": { "query_string": { "query": "comparaison", "fields": ["content", "title"] } } }若未指定
fields参数,可能默认仅搜索_all字段(若该功能开启),而你的目标字段不在此范围内。另外注意大小写问题,如果字段内容被分词为小写,但查询使用大写形式,也会导致匹配失败。PDF导入的内容异常:确认文档中确实存在
comparaison这个词汇。有时候PDF导入会出现编码、格式问题,导致索引的实际内容和你看到的原文不一致。可以用match_all查询取出一个文档,检查content和title字段的实际内容是否符合预期。
内容的提问来源于stack exchange,提问作者Marc Le Bihan
相关产品推荐
相关产品推荐

