18
A
回答
21
我認爲你的領域是一個TextField,默認情況下solr在這個領域做了模糊搜索。你想要的是將你的領域設置爲一個字符串字段,並不添加標記器,那麼你會得到一個完全匹配。
您甚至可以將精確搜索與模糊搜索相結合,並使用DisMax來提高相對權重。
例(schema.xml中):
<field name="name" type="string" indexed="true" stored="false" required="true" />
<field name="nameString" type="string" indexed="true" stored="false" required="true" />
<copyField source="name" dest="nameString"/>
例(solrconfig.xml中):
<requestHandler name="accounts" class="solr.SearchHandler">
<lst name="defaults">
<str name="defType">dismax</str>
<str name="qf">
nameString^10.0 name^5.0 description^1.0
</str>
<str name="tie">0.1</str>
</lst>
</requestHandler>
4
3
要關閉在schema.xml中所產生,你可以這樣定義文本字段:
<types>
<!-- other fields definition -->
<fieldType name="text_no_stem" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<!-- other fields definition -->
</types>
<fields>
<!-- other fields definition -->
<dynamicField name="*_nostem" type="text_no_stem" indexed="true" stored="true"/>
<!-- other fields definition -->
</fields>
我使用sunspot將solr與Ruby on Rails集成。有了這個schema.xml中,我定義我的搜索塊這樣的:
searchable do
text(:wants, as: :wants_nostem)
end
1
使用Solr的串場whcih會做一個精確值搜索例如
<fieldType class="solr.StrField" name="string" omitNorms="true" sortMissingLast="true" />
1
使用精確匹配的結果引號:
例子:
核心名稱:核1 重點:namestring
http://localhost:8983/solr/core1/select?q=namestring:「稅」 &重量= JSON &縮進=真
相關問題
- 1. Solr使用連字符精確搜索
- 2. Solr 6 DateRangeField搜索精確匹配
- 3. Azure搜索,精確詞組匹配
- 4. MySQL在word中搜索精確詞$
- 5. Solr的查詢Wildcardquery在精確的搜索字符串
- 6. Solr搜索精確的短語/子字符串
- 7. 使用Solr搜索部分字詞
- 8. 在Apache-Solr中搜索部分字詞
- 9. Solr - 搜索精確短語時是否有包含停用詞的方法?
- 10. PHP精確搜索
- 11. Django admin中的精確字段搜索
- 12. Azure搜索索引 - 搜索確切詞
- 13. 提煉Solr搜索,獲得精確匹配?
- 14. 如何在solr 1.3中獲得精確的搜索結果?
- 15. 只搜索精確匹配
- 16. Solr搜索:按字母搜索名稱
- 17. 使用apache solr的同義詞搜索
- 18. Solr的去除ace001搜索詞的「E」
- 19. Solr模糊搜索近似詞
- 20. 基於詞幹的Solr搜索
- 21. Solr的多個單詞搜索
- 22. Solr能夠準確地搜索關鍵詞嗎?
- 23. 用Apache Solr搜索名字
- 24. Powershell - 如何搜索整個詞(或)精確匹配
- 25. 無法在Solr中搜索具有編號的搜索字詞的文檔
- 26. 使用lucene進行精確詞組搜索,不增加字段數
- 27. 如何使用ajax搜索輸入字段中的精確短語或單詞?
- 28. Solr/Lucene在某些字詞搜索中表現怪異
- 29. Solr的搜索查詢:鑑於詞與數字在附近
- 30. 搜索多個搜索字詞
這是可能的查詢時,與一個特殊的運營商? Like = taxes – mlissner 2011-04-02 21:55:04
@mlissner,上面的XML僅僅是添加到查詢中的默認參數。你可以通過添加你的查詢defType = dismax&qa = nameString^10.0 name^5.0 description^1.0 etc etc – 2012-09-28 19:29:04
@ItayMoav,目標是讓*用戶*能夠放置完全匹配查詢。 – mlissner 2012-09-28 23:52:37