示例:我从数据库中获取数据,行如下所示 ID年龄文本
1 10 Great good very good
2 12 Thanks very thanks good very good
我想从结果中得到的是ID的好处
q:good
Facet.query:good
facet.field: ID
结果应如下所示
"facet_counts": {
"facet_queries": {
"text:good": 4
},
"facet_fields": {
"ID": [
"1",2,
"2",2,
}
}
我得到的是
"facet_fields": {
"ID": [
"1",1,
"2",1,
}
}
看起来要删除行中的重复值吗?
有人可以帮忙吗
Schema.xml的
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
答案 0 :(得分:0)
不会删除重复的值。
您正在获得字段ID
的方面。根据您的查询,只有一个文档,每个文档都包含ID=1
和ID=2
,这就是您获得结果的原因
“facet_fields”:
{
"ID":
{ "1",1,
"2",1,
}
}
您的问题标题以及您在问题中解释的内容有点令人困惑。
这行是solr索引中的单个文档吗?
1 10 Great good very good 2 12 Thanks very thanks good very good
或者这些是两个不同的文件: 文件1
{
ID:1
Age:10
Text:Great good very good
}
文件2
{
ID:2
Age:12
Text:Thanks very thanks good very good
}
solr中没有内置的方法可以返回您期望的结果。即返回每个文档中的单词计数。 最接近的是术语向量组件:https://cwiki.apache.org/confluence/display/solr/The+Term+Vector+Component