如何从Apache Solr中的用户查询结果中获取最流行的数据?

时间:2015-12-14 15:28:16

标签: php caching solr filter

我有配置 的 schema.xml中

<field name="id" type="int" indexed="true" stored="true" required=" multiValued="false" />
<field name="name" type="text_en" indexed="true" stored="true" />

<uniqueKey>id</uniqueKey>
<defaultSearchField>name</defaultSearchField>

<fieldType name="text_vi" class="solr.TextField" positionIncrementGap="100" sortMissingLast="true">
    <analyzer type="index">...
    <analyzer type="query">...
</fieldType>

在我的应用程序中,用户可以按字段“名称”进行搜索。现在,我想从用户查询结果中获取最流行的数据。

任何人都可以一步一步解释程序并提供示例吗? 提前谢谢!

2 个答案:

答案 0 :(得分:0)

Solr不提供任何开箱即用的功能。您可以查看statscomponent索引统计信息。
如果您尝试在学期级别开发自动完成功能,请查看termscomponent,其中提供了匹配数量的最高术语。
您可以使用计数排序的最佳匹配结果 -

q=search_text:xyz&wt=json&indent=on&rows=50&sort=count desc

答案 1 :(得分:0)

尝试像这样提升结果

name:marco ^2

https://wiki.apache.org/solr/SolrRelevancyFAQ