У меня возникла проблема с выделением синонимов, сопоставленных с Wordnet.При поиске он выделяет нерелевантные слова.
Вот мой код ниже.
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "standard",
"filter": [
"synonym",
"lowercase"
]
}
},
"filter": {
"synonym": {
"type": "synonym",
"format": "wordnet",
"synonyms_path": "analysis/wn_s.pl"
}
}
}
}
},
"mappings": {
"header": {
"properties": {
"test_string": {
"type": "text",
"analyzer": "synonym",
"term_vector": "with_positions_offsets"
}
}
}
}
}
Мой поисковый запрос.
{
"query": {
"query_string": {
"query": "info~"
}
},
"highlight": {
"pre_tags": [
""
],
"post_tags": [
""
],
"fields": {
"test_string": {}
},
"fragment_size": 501,
"number_of_fragments": 1
}
}
Результаты приведены ниже.
TEST: в этой области содержится имя клиента: TEST Тип клиента TEST: в этой области содержится информация о типе: TEST area
Примечание: нажмите ' new столбец «значение» и столбец «старое значение» на странице заголовка для просмотра полных значений.
Примечание. Отчет о транзакции, представленный в заголовке, отображает только частичное значение, пользователь должен нажать « Старый * 1021».* Значение 'и' Новое значение 'для просмотра завершено.
В приведенных выше результатах я хотел, чтобы выделялась только «информация», но она выделяет «новый» и «старый» текст.Я также ввел код, проанализировал вывод токена и обнаружил, что он работает должным образом, но выделение вызывает проблему.
Версия Elasticsearch - 6.2.4
Пожалуйста, предложите, где я ошибаюсь.Спасибо.