我是Elasticsearch的新手,所以这可能很简单,但我无法使同义词正常工作。
我的索引正在加载并且工作正常
PUT /my-index
{
"settings" : {
"index" : {
"analysis" : {
"analyzer" : {
"synonym" : {
"tokenizer" : "whitespace",
"filter" : ["lowercase", "synonym_filter"]
}
},
"filter" : {
"synonym_filter": {
"type": "synonym",
"format": "wordnet",
"synonyms_path": "analysis/wn_s.pl",
"filter": ["lowercase"]
}
}
}
}
},
"mappings": {
"doc": {
"properties": {
"field_name": {
"type": "text",
"analyzer": "synonym",
"fields": {
"exact": {
"type": "text",
"analyzer": "synonym"
}
}
}
}
}
}
}
一旦我检查了我返回的令牌,就会得到一些额外的令牌。
GET my-index/_analyze
{
"analyzer" : "synonym",
"text" : "kid"
}
{
"tokens" : [
{
"token" : "child",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : "kid",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 0
},
{
"token" : "fry",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 1
},
{
"token" : "kyd",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 1
},
{
"token" : "kid",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 1
},
{
"token" : "the",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 1
},
{
"token" : "leg",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 2
},
{
"token" : "of",
"start_offset" : 0,
"end_offset" : 3,
"type" : "SYNONYM",
"position" : 3
}
]
}
搜索文档
GET my-index/doc/_search
{
"query": {
"simple_query_string": {
"fields": [ "field_name" ],
"query": "kid"
}
}
}
那是我得到的一些结果
{
"took":25,
"_shards":{
"total":5,
"successful":5
},
"hits":{
"total":5035,
"hits":[
{
"field_name":"CHILD WITNESS CENTRE"
},
{
"field_name":"KidsAbility Centre for Child Development"
},
{
"field_name":"Kamloops Child Development Centre"
},
{
"field_name":"The Child Advocacy Centre Of Niagara"
},
{
"field_name":"Kidsability Centre For Child Development"
},
{
"field_name":"Child Witness Centre Of Waterloo Region"
},
{
"field_name":"Branch 133, Legion Village Foundation"
},
{
"field_name":"Society Of St Vincent De Paul St Thomas C"
},
{
"field_name":"OSNS CHILD DEVELOPEMENT CENTRE"
},
{
"field_name":"Caledon Parent Child Centre"
},
{
"field_name":"University of Calgary"
}
]
}
}
elasticsearch v6.5.2。 我从wordnet网站上获取的同义词文件