jpe*_*pee 5 solr full-text-search faceted-search
我正在使用solr 3.5并添加了一个自定义字段,它通过在schema.xml中定义以下内容来为文档添加类别.
<field name="category" type="string" indexed="true" stored="true"/>
Run Code Online (Sandbox Code Playgroud)
现在我正在实现一个Search-Web-Client,它应该显示该类别字段索引的所有值.我用以下查询做到了:
facet=true&facet.field=category&q=*
Run Code Online (Sandbox Code Playgroud)
结果如下:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">45</int>
<lst name="params">
<str name="facet.field">category</str>
<str name="q">*</str>
<str name="facet">true</str>
</lst>
</lst>
<result name="response" numFound="0" start="0" maxScore="0.0"/>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="category">
<int name="category1">0</int>
<int name="category2">0</int>
<int name="category3">0</int>
<int name="category4">0</int>
<int name="category5">0</int>
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges"/>
</lst>
</response>
Run Code Online (Sandbox Code Playgroud)
我的Web客户端显示所有类别的名称,但它们以小写形式编写,但以大写字母存储在索引中.
<response>
<result>
<doc>
...
<str name="category">Category1</str>
...
</doc>
</result>
</response>
Run Code Online (Sandbox Code Playgroud)
jav*_*nna 12
我怀疑你正在使用LowerCaseFilterFactory你的类型领域string.在这种情况下,索引值是,category1但存储的值仍然是您提交的原始值Category1.
您应该LowerCaseFilterFactory从您的stringfieldType定义中删除,schema.xml以获得所需的构面行为.
事实上,这是通常使用特定copyField用简单的字段类型方面,没有Tokenizer,Filter等等.
| 归档时间: |
|
| 查看次数: |
4080 次 |
| 最近记录: |