我正在尝试进行短语匹配以找到类似的短语。
EG。名称字段具有以下条目,并且所有3个应评估为相同:
您能否建议使用短语匹配器或类似内容的Java代码,以表明名称字段中的上述条目相同(可能更高分)
感谢。
答案 0 :(得分:1)
您可以使用" phrase"输入或" phrase_prefix"根据你的情况输入。 在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"
}
}
}
}'