gpt4 book ai didi

elasticsearch - Elasticsearch:在特定字段上搜索时不进行分析

转载 作者:行者123 更新时间:2023-12-02 22:52:22 30 4
gpt4 key购买 nike

我正在将一些数据索引到elasticsearch中,其中一位是IP地址(存储为字符串类型,而不是ip类型)。我正在为IP地址字段使用自定义分析器,其定义如下:

'ipv4_address_analyzer' => [
'type' => 'custom',
'tokenizer' => 'ipv4_path_tokenizer',
'filter' => [],
],

ipv4_path_tokenizer的定义如下:
'ipv4_path_tokenizer' => [
'type' => 'path_hierarchy',
'delimiter' => '.',
'buffer_size' => 15,
],

当我在映射中的字段上使用 index_analyzer属性时,将使用以下查询对它进行索引和正确搜索:
{
"query": {
"query_string": {
"query": "95.129",
"fields": [
"external_ip",
"domains",
"_all"
],
"use_dis_max": true
}
},
"size": 1000
}

但是...默认搜索分析器仍会处理搜索词,这会产生一些误报。

我知道我可以在IP字段上指定search_analyzer属性以使用其他搜索分析器,但是我真正想要的是在搜索该字段时保持搜索字词不变,而不是通过分析器运行。

有没有一种方法可以禁用每个字段的搜索词分析?

最佳答案

最终在找到手册时找到了答案。关键字 token 生成器关键字使原始术语保持原样,但将其截断为最大缓冲区大小。不需要过滤器。自定义分析器如下:

'leave_me_alone' => [
'type' => 'custom',
'tokenizer' => 'keyword',
'filter' => [],
],

关于elasticsearch - Elasticsearch:在特定字段上搜索时不进行分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20665396/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com