lucene全文检索结合用户行为优化排序结果
问题是这样的:我在做一个全文检索引擎,对数据库表建索引进行查询,然后对查询结果进行排序;查询用到这三个字段:name(名称),address(地址),visits(查询频率);其中查询频率visit是动态变化的;
举例说明一下:我输入“测绘”,查询结果如下图,假设我想得到的结果是“省测绘局”,我点击省测绘局,会增加数据库中visit的值,我想通过visit的值来对查询结果进行排序。查询关键词和name匹配度的值为x,和address匹配度为:y,还有visit值为z,怎么建立一个数学模型:f(x,y,z)=f(x) + f(y) + f(z)?最后我根据f(x,y,z)对结果排序?x、y的值我是根据一个现成的一个开源的全文检索引擎lucene的匹配算法得到的在0~1之间,z值就是访问次数动态的在变化>0的整形。
------解决方案--------------------好像在复杂query的时候可以设置各个query的boost值
------解决方案--------------------
我理解的查询排序只能在一个过程中处理,比如要么用sql排序,要么用lucene排序,所以就是一个三个字段的查询排序呀~难道还有别的意思...