我试图做一个短语匹配,以找到类似的短语。
例如:Name字段有以下条目,所有3项都应计算为相同的:
您能建议使用短语匹配器或类似的Java代码来表示上面Name字段的条目是相同的(可能更高的分数)吗?
谢谢。
发布于 2014-11-06 05:14:53
对于您的情况,可以使用"短语“类型或"前缀”类型进行匹配查询。在Java客户机中,Elasticsearch提供了两种可以使用的方法。
试着测试下面的脚本以检查结果。
curl -s -XPOST "http://localhost:9200/ap100/example/1" -d '{
"name": "USA Tech Company"
}'
curl -s -XPOST "http://localhost:9200/ap100/example/2" -d '{
"name": "USA Tech Company Alabama"
}'
curl -s -XPOST "http://localhost:9200/ap100/example/3" -d '{
"name": "USA Tech Company California"
}'
curl -XGET "http://localhost:9200/ap100/example/_search?pretty" -d '{
"query":{
"match":{
"name": {
"type": "phrase",
"query": "usa tech company",
"slop": 2
}
}
}
}'
curl -XGET "http://localhost:9200/ap100/example/_search?pretty" -d '{
"query":{
"match":{
"name": {
"type": "phrase_prefix",
"query": "usa tech company"
}
}
}
}'https://stackoverflow.com/questions/26764020
复制相似问题