我正在使用solrnet。我有一個標題和說明字段。我需要同時搜索兩個字段。我該怎麼做呢?Solr:如何搜索多個字段
3
A
回答
4
Jayendra的答案是正確的,但如果你想這樣做,而不在一個單一的聚合數據在指數時間(copyFields),並希望而不是使用標準處理程序,而不是在dismax查詢的時間去做領域,SolrNet你可以這樣做:
var query = Query.Field("title").Is(mytitle) || Query.Field("Description").Is(mydescription);
var results = solr.Query(query);
見query operators和DSL瞭解更多信息。
2
如果您使用的是標準請求處理程序 -
創建一個新字段title_description並將標題和說明字段複製到此字段。
將該字段用作默認搜索字段。與默認的搜索欄搜索解僱
<defaultSearchField>title_description</defaultSearchField>
查詢Q -
q=bank
OR
如果你可以使用dismax或edismax查詢分析器,你可以定義一個新的請求處理程序。
將查詢字段定義爲qf。
<requestHandler name="dismax" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<!-- Query settings -->
<str name="defType">edismax</str>
<str name="qf">
title description
</str>
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
</lst>
</requestHandler>
查詢 - 通過dismax因爲這將在標題和描述字段搜索QT參數
q=bank&qt=dismax
0
請嘗試在下面的方法中傳遞包含多個字段名稱和搜索文本的字符串數組。我將返回solrnet查詢以搜索具有OR條件的多個存檔名稱。
public ISolrQuery BuildQuery(string[] SearchFields, string SearchText)
{
AbstractSolrQuery firstQuery = new SolrQueryByField(SearchFields[0], SearchText) { Quoted = false };
for (var i = 1; i < SearchFields.Length; i++)
{
firstQuery = firstQuery || new SolrQueryByField(SearchFields[i], SearchText) { Quoted = false };
}
return firstQuery;
}
相關問題
- 1. Solr - 搜索多個字段
- 2. 在SOLR中搜索多個字段
- 3. 如何在solr中針對多個字段搜索多個值?
- 4. Solr的搜索多值字段
- 5. Solr:我如何索引和搜索幾個字段?
- 6. 如何搜索Solr中的多值字段
- 7. Solr的 - 通過多個字段搜索一個條目
- 8. 搜索多個字段
- 9. Laravel搜索多個字段
- 10. Mysql搜索多個字段
- 11. Haystack搜索多個字段
- 12. 多個搜索字段
- 13. 多個字段的搜索
- 14. awk搜索多個字段
- 15. SOLR:多個相關數據字段的搜索查詢
- 16. 只搜索Solr多值字段的單個值,不跨越值
- 17. Apache Solr或Lucene在多個字段上進行搜索
- 18. 如何搜索Solr中兩個字段的所有術語?
- 19. 如何在URI中搜索多個字段搜索
- 20. Solr檢測語言。如何跨多個description_ *字段進行搜索?
- 21. Solr搜索字段最佳實踐
- 22. 無法在Solr中搜索字段
- 23. apache solr按字段值搜索排序
- 24. haystack solr搜索全部字段
- 25. Solr用2字段減法搜索
- 26. Solr的:搜索相同的字段或
- 27. Solr只在默認字段中搜索
- 28. 搜索Solr/SolrJ中的所有字段
- 29. 如何搜索SOLR中包含關鍵字的所有字段?
- 30. 如何在Solr的有限字段中搜索關鍵字?
哇..很有趣。當有人在查詢框中鍵入「火箭科學家」時,我將它傳遞給solrnet。我爲「mytitle」和「mydescription」做了什麼? – Luke101
@ Luke101:它們是一樣的...只是代表用戶輸入的樣本變量。例如。 mytitle = mydescription = Request.QueryString [「q」]; –
謝謝..我繼續並實施此解決方案。 – Luke101