我可以帮忙翻译。以下是需要翻译的内容:
POST:
现在当我进行搜索时...
我已经成功地使用copy_to进行了精确匹配,但我无法正确地将其与部分匹配设置配合使用。下面是我的映射/设置和查询,以及预期和实际结果。
设置:
{
"test": {
"settings": {
"index": {
"analysis": {
"filter": {
"ngram_filter": {
"type": "edge_ngram",
"min_gram": "1",
"max_gram": "15"
}
},
"analyzer": {
"ngram_analyzer": {
"filter": [
"lowercase",
"ngram_filter"
],
"type": "custom",
"tokenizer": "standard"
}
}
},
"number_of_shards": "1",
"number_of_replicas": "1",
}
}
}
}
映射:
POST /test/_mapping/name
{
"name": {
"properties": {
"vital": {
"properties": {
"first": {
"type": "string",
"copy_to": "full_name",
"term_vector": "yes",
"analyzer": "ngram_analyzer",
"search_analyzer": "standard"
},
"last": {
"type": "string",
"copy_to": "full_name",
"term_vector": "yes",
"analyzer": "ngram_analyzer",
"search_analyzer": "standard"
},
"full_name": {
"type": "string",
"term_vector": "yes",
"analyzer": "ngram_analyzer",
"search_analyzer": "standard"
}
}
}
}
}
}
POST:
POST /test/name
{
"vital": {
"first": "Tom",
"last": "Doe"
}
}
现在当我进行搜索时...
GET /test/name/_search
{
"query": {
"match": {
"full_name": {
"query": "Tom Doe",
"operator": "and"
}
}
}
}
我得到了结果!!太棒了,但如果我做搜索......
GET /test/name/_search
{
"query": {
"match": {
"full_name": {
"query": "Tom Do",
"operator": "and"
}
}
}
}
我没有得到任何结果 :( 我希望全名的部分匹配也能起作用。另外,我成功地对名字和姓氏进行了部分匹配。只有全名无法正常工作。我该如何解决这个问题?