在使用查询匹配和 elasticsearch-py 时自定义分析器有什么建议吗?



当使用查询匹配和 elasticsearch-py 时,我无法应用自定义分析器。

我自定义了一个名为custom_lowercase_stemmed的分析器,并使用es.indices.put_settings来更新索引设置。

但是,当我进行搜索时,它找不到分析器。

我还在es.search中查看了参数analyzer,但它返回了一个错误:

..无法识别的参数:[分析器]

我可以在这里获得有关定制分析仪的任何建议吗?谢谢!

query_body = {
"query": {
"match": {
"employer":{
"query": txt,
"fuzziness": 'AUTO',
"analyzer" : 'custom_lowercase_stemmed'
}
}
}
}
es.search(index='hello',body=query_body)

这是完整的错误:

RequestError: RequestError(400, 'search_phase_execution_exception', '[match] analyzer [custom_lowercase_stemmed] not found')

我认为您必须确保具备以下条件:

  • 正确设置配置。在您的情况下,您应该在设置中将字段"custom_lowercase_stemmed"作为分析器。您还可以定义要停止的单词。

  • 使用 Python ES 客户端,您必须将分析器作为方法的参数发送.search().查看文档。但是,您可以尝试按原样运行查询。我没怎么玩过分析仪。

希望这是有帮助的! :D

确保在映射中指定了分析器,并确保查询正确的字段。

对于您关于删除重复名称的匹配问题的问题,在术语级别和短词、模糊度和通配符参数将是最适合的!

干杯 韩敏 (:

相关内容

  • 没有找到相关文章

最新更新