我如何根据我搜索的每个句子的重复单词数对Apache SOLR搜索结果进行排序。
例如,我正在搜索单词 此 ,并在第一个 JSON对象字这个中搜索出现1次。在 second 4x和 third 2x中。
我希望搜索结果按此顺序排序: 第二个对象,第三个对象,第一个对象
(句子中 THIS 的数量)
我是否可以仅使用Apache SOLR实现此结果,或者更好地从Apache SOLR获取原始结果,然后使用JavaScript在客户端对其进行排序?
答案 0 :(得分:0)
您可以使用Solr termfreq
相关性功能:https://wiki.apache.org/solr/FunctionQuery#termfreq
termfreq(text,THIS)
您可以在Solr排序参数中使用此函数的结果:https://lucene.apache.org/solr/guide/6_6/function-queries.html#FunctionQueries-SortByFunction
http://localhost:8983/solr/collection_name/select?q=*:*&sort=termfreq(text, THIS) desc