[英]Solr filter query not working on field
我有一個Solr設置,其中包含一些字段(請參見下文)和一個語言字段。 我只想返回語言為nl_NL
的結果。
但是,如果我對/solr/client/query?q=test&fq=language:nl_NL
進行過濾查詢,則不會返回任何結果。
似乎fq
在此特定領域不起作用。 但是,對/solr/client/query?q=test&fq=id:1
可以正常工作。
篩選查詢在字段上工作是否有特殊要求? 這是我的schema.xml
的概述。
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_nl" indexed="false" stored="true" />
<field name="content" type="text_nl" indexed="false" stored="true" multiValued="true" />
<field name="permalink" type="string" indexed="false" stored="true"/>
<field name="image" type="string" indexed="false" stored="true"/>
<field name="date" type="tdate" indexed="true" stored="true"/>
<field name="category" type="string" indexed="false" stored="true"/>
<field name="language" type="string" indexed="false" stored="true" />
使用ID為fq的查詢時的結果是:
{
"responseHeader":{
"status":0,
"QTime":4,
"params":{
"q":"test",
"fq":"id:3968"}},
"response":{"numFound":1,"start":0,"docs":[
{
"id":"3968",
"title":"Scotch en Soda",
"permalink":"http://www.example.com/merken/scotch-soda/",
"image":"http://www.example.com/SS15-SCOTCH-SODA-BRAND-PAGE-150x150.jpg",
"date":"2015-06-22T16:02:47Z",
"category":"brands",
"language":"nl_NL"}]
}}
最初,我雖然是語言字段的fieldType問題,但事實並非如此。 由於字段類型是字符串,因此請確保您沒有在過濾器中提及語言的字符串部分。
無論索引時添加了什么值,它對於過濾器都必須完全相同。 那么它將為您工作。
在language字段上添加index = true字段就可以了。 感謝Suhel Meman!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.