【发布时间】:2025-12-04 02:05:03
【问题描述】:
谁能告诉我如何在所有领域搜索 Solr?
这是我当前的 requestHandler,名为“search”并使用 solr.SearchHandler。
<requestHandler name="search" class="solr.SearchHandler" default="true">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
</lst>
</requestHandler>
看来我可以搜索所有 textual 字段,但是我需要搜索一个名为“s_number”的字段,这是一个整数。
我是否需要使用 DisMax 才能搜索所有字段?
另外,我需要调整 schema.xml 中的 defaultSearchField 吗?目前是:
<defaultSearchField>text</defaultSearchField>
【问题讨论】:
-
当它们不是文本字段时,它们被视为分面,您必须进行分面搜索:wiki.apache.org/solr/SolrFacetingOverview
-
@BenLee 要执行分面搜索,我是否必须在 requestHandler 部分更改我的 solrconfig.xml 以允许分面?我知道,如果我搜索一个文本术语并 then 过滤 s_number 那么它就可以工作。但是,我只想在没有文本术语的情况下搜索 s_number。目前所有的 facet.field 和 facet.query 条目都在 solrconfig.xml 中被注释掉。你能告诉我是否需要改变这个吗?
-
对不起,我一开始误解了你的问题。你不需要这里的方面。请参阅我刚刚发布的答案,了解如何仅在单个非文本字段上进行搜索。