Vb.net 我正在使用solr-4.0我应该使用什么样的确切距离进行模糊搜索~
我正在使用solr-4.0。我需要进行模糊搜索,因为我在单词的末尾添加了“~”。 例如,如果我搜索healht~0.5,它会给出正确的健康文档列表,但是如果我搜索healht~0.5,它不会给出健康文档的结果 虽然我正在为每个世界添加~0.5 using函数,但它将解决Healht~0.5 drugs~0.5的问题,但最终它将为&,和for space>my search查询创建问题:title:(Healht~0.5 drugs~0.5) 另外,我想知道在“~”之后我必须应用的正确距离是多少,如果短的话,这将给我正确的结果,使用之间的区别是什么 ~0.5、~0.8、~1.0、~2.0Vb.net 我正在使用solr-4.0我应该使用什么样的确切距离进行模糊搜索~,vb.net,solr,Vb.net,Solr,我正在使用solr-4.0。我需要进行模糊搜索,因为我在单词的末尾添加了“~”。 例如,如果我搜索healht~0.5,它会给出正确的健康文档列表,但是如果我搜索healht~0.5,它不会给出健康文档的结果 虽然我正在为每个世界添加~0.5 using函数,但它将解决Healht~0.5 drugs~0.5的问题,但最终它将为&,和for space>my search查询创建问题:title:(Healht~0.5 drugs~0.5) 另外,我想知道在“~”之后我必须应用的正确距离是多少,
有人能帮我解答上述问题吗?根据您的用例,您应该使用的确切距离是多少?对于您所支持的文档和查询类型,模糊性到底有多大意义。真正测试这一点的唯一方法是测量用户的响应,以及他们是否认为结果相关。参数可以介于0和1之间,如果没有给定,默认值为0.5(即,如果您只是在搜索Healht~)
每个单词都必须给出模糊性,并使用Damerau–Levenshtein算法。它不支持两次以上的编辑谢谢你的回应-只是为了澄清这个概念,可以提供一些例子,当使用0.1和何时使用0.5或0.7 -如果我使用Health~~0.1,它给了我与使用-0相同的结果,因为现在只考虑1或2的胡隙,用于使用当前算法进行模糊搜索,除了0.5和1之间,您可能看不到任何差异。如果需要更精确的匹配(即编辑距离为1,而编辑距离为2(~1)将提供更多的模糊性),则可以使用较低的值。具体哪一个是正确的取决于您的用例。感谢您的回复,在使用模糊搜索(healht~0.5药物~0.5)^100的同时使用boosting是好的,还是使用separate更好,以避免对现有的boosting功能造成影响,这真正取决于您的用例。实验得到你想要的结果。嗨,MatsLindh,这是不是预期的行为?我正在用health关键字搜索文档,它给了我250条记录。然而,当我用healht~2搜索记录文档时,它给了我200条记录。为什么会发生这种情况?它应该给出与正常搜索相同的结果