[英]Solr direct match search
我正在嘗試測試Solr中的不同功能,我想創建一個只返回直接匹配的基本文本搜索器。 我有簡單的文件包含短語:
[{
"id": 1,
"name": "one blue car"
},
{
"id": 2,
"name": "two blue cars"
}]
我的架構包括:
<field name="id" type="int" indexed="true" stored="true"/>
<field name="name" type="string" indexed="true" stored="true"/>
<field name="nameExact" type="text_exact" indexed="true" stored="false"/>
<field name="_version_" type="float" indexed="false" stored="false"/>
<copyField source="name" dest="nameExact"/>
<fieldType name="text_exact" class="solr.TextField" positionIncrementGap="100" >
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我的solrconfig包括:
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">name</str>
</lst>
</requestHandler>
我想搜索“一輛藍色汽車”並收到id = 1的條目
這是實現我想要的正確設置嗎?
您需要為字符串定義字段類型。 (我希望你已經定義了這個)
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
提交的定義是正確的。
<field name="name" type="string" indexed="true" stored="true"/>
您可以使用簡單的查詢來搜索相同的內容
q=name:"one blue car"&rows=100&wt=json&indent=true
您不需要定義新的字段nameExact和單獨的fieldType來實現相同的目的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.