鉴于非结构化数据集由具有数字量的各种参数组成,什么是一种有效且实用的搜索算法?参数变化很大,没有详尽的参数列表,任何参数都可以是任何集合的一部分。
这可能是一个非常好的问题描述,或者只是令人困惑。那么让我试一试:
"dataset" : [
{"a": 4, "b": 1},
{"a": 4, "b": 1, "c": 0.5},
{"a": 1, "b": 3, "c": 0.5, "x": 1},
{"x": 3, "t": 0.01}
]
搜索输入(与数据集匹配/得分):
q = {"a": 2, "b": 1}
我正在考虑匹配/评分规则:
对于数据集中的每个“集合”s
,扫描s
的参数。如果q
包含相同的参数(名称/密钥),则让v
为s
中该参数的数量(值)。让w
成为q
中的对应值,并对此参数进行评分,max(w/v, 1.0)
。
对s
的每个参数重复,产生总分(作为所有“子分数”的乘积)。
所以,q
得分
对于两个第一组,2/4 * 1/1 = 0.5,对第三组为0.33,对于最后一组为0。我不确定如何处理s
中不的q
中的参数,但也许这些参数可以给出一些次要分数(对于那些“{hits”{{1} }})。
有关搜索内容(谷歌)的任何提示,有关这类内容的任何适合的算法吗?