У меня есть словарь цветов и есть длинный запрос
"Красные шерстяные носки"
Document:
{
name = color
value = красный Keword()
}
То есть мне надо определить какой цвет в этой фразе.
Как это сделать что бы при запросе "Красные шерстяные носки" вернул value: "красный"?
Вы не могли бы описать подробнее проблему, которую вы хотите решить? Что вы будете делать потом с этой информацией?
потом когда определю что это
- красный - цвет
- носок - продукт
- шерстяной - материал
Дальше буду обучать NLP NER
То есть куча словарей при помощи которых хотел находить нужные термины.
Все равно не понимаю, что вы хотите получить
Search phrase:
"Nike Children's Free Run 2 PS Rip Tape Trainers, Green"
Dictionary:
name, value
color, green
color, red
color, black
Mapping (возможно надо подругом менять?):
{
name = Keyword()
value = Keyword()
}
Query:
{
query :{
match (как выбрать правильный тип запроса?): {
value: "Nike Children's Free Run 2 PS Rip Tape Trainers, Green"
}
}
}
Results: hits: []
Перепробывал по разному: term, fuzzing. Но я как понимаю еластик решает обратную задачу поиска по термину (фразе) документа.
Сейчас костыль: итерационно перебираю каждое слово и делаю term на каждое слово.
Ну тут либо подсветка, либо бить запрос по термам и врапить каждый терм в именной фильтр. Я, думаю, второе решение будет проще.
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.