一个 web accesslog 的 index ,包含字段 `
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36`,用户想搜索版本号为 chrome 45 的用户数据,如果字段分词使用 `http_user_agent:chrome AND http_user_agent:45.0*` 这样并不是特别精准,es 应该是吧 Chrome 和 45.0.2454.101 分成两个单词,如果不分词用正则又搜不出来,如果要满足用户这个需求,请问应该如何实现?我自己有两个思路
1. 进入 es 前用 logstash 做进一步切分,不太现实,浏览器这么多
2. 自定义分词器,`/` 不要拆开来
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36`,用户想搜索版本号为 chrome 45 的用户数据,如果字段分词使用 `http_user_agent:chrome AND http_user_agent:45.0*` 这样并不是特别精准,es 应该是吧 Chrome 和 45.0.2454.101 分成两个单词,如果不分词用正则又搜不出来,如果要满足用户这个需求,请问应该如何实现?我自己有两个思路
1. 进入 es 前用 logstash 做进一步切分,不太现实,浏览器这么多
2. 自定义分词器,`/` 不要拆开来
1 个回复
kennywu76 - Wood
赞同来自:
https://www.elastic.co/guide/e ... .html