示例文件:
{"id": 1, "categories" : ["A", "C","E"]}
{"id": 2, "categories" : ["A", "C"]}
{"id": 3, "categories" : ["A"]}
{"id": 4, "categories" : ["A"]}
当有人搜索单个值时," A"在categories
字段中,如何确保文档3和4总是比文档1和2更高,因为它们更接近单个值" A"?
我试过这个问题:
{
"query": {
"bool": {
"filter": {
"bool": {
"must": [
{
"term": {
"categories": "A"
}
}
]
}
}
}
}
}
但是文件3和4不在最佳状态。
答案 0 :(得分:1)
当您尝试处理数组中的单元格时,无法控制相关性或tf/idf
。 elasticsearch会将所有单元格及其内容视为一个串联字符串。