Wir setzen Suche Firmenliste Elasticsearch verwenden, aber es ist nicht, was wir erwartetElasticsearch Optimizing Abfrage
**Example companies:**
Infosys technologies
Infosys technologies ltd
Infosys technologies pvt ltd
Infosys technologies Limited
Infosys technologies Private Limited
BAC Infosys ltd
Szenario:
Wenn das Stichwort "Infosys" suchen soll es zurückgeben „Infosys Technologien " Liste.
Bei der Suche nach dem Stichwort "Infosys ltd" sollte "Infosys Technologien" Liste zurückgeben.
Bei der Suche nach dem Schlüsselwort "BAC Infosys ltd" sollte "BAC Infosys ltd" -Liste zurückgegeben werden.
Die folgenden Einstellungen und Mapping verwendet
{
"settings": {
"analysis": {
"filter": {
"nGram_filter": {
"type": "nGram",
"min_gram": 3,
"max_gram": 3,
"token_chars": [
"letter",
"digit",
"punctuation",
"symbol"
]
}
},
"analyzer": {
"nGram_analyzer": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"asciifolding",
"nGram_filter"
]
},
"keyword_analyzer": {
"type": "custom",
"tokenizer": "keyword",
"filter": [
"lowercase",
"asciifolding"
]
}
}
}
},
"mappings": {
"companies": {
"properties": {
"company_name": {
"type": "string",
"store": "true",
"index_analyzer": "nGram_analyzer",
"search_analyzer": "keyword_analyzer",
"null_value": "null"
}
}
}
}
}
Abfrage:
{"query":
{
"bool": {
"must": [
{ "match": { "company_name": "Infosys technologies" }}
],
"minimum_should_match": "80%"
}
}
}
Bitte helfen Sie mir, wie dies zu erreichen.
Können Sie mir irgendein Beispiel geben, weil ich neu bei Elasticsearch bin. Bitte helfen Sie mir – azhagu