solr中查询的默认字段是什么

vin*_*eof 3 solr

我是 solr 的新手,我有一个问题。

托管模式中的每个 fieldType 定义,您都可以指定索引分析器和查询分析器,如下所示:

<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.StopFilterFactory" words="lang/stopwords_en.txt" ignoreCase="true"/>
  <filter class="solr.LowerCaseFilterFactory"/>
  <filter class="solr.EnglishPossessiveFilterFactory"/>
  <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
  <filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.SynonymFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
  <filter class="solr.StopFilterFactory" words="lang/stopwords_en.txt" ignoreCase="true"/>
  <filter class="solr.LowerCaseFilterFactory"/>
  <filter class="solr.EnglishPossessiveFilterFactory"/>
  <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
  <filter class="solr.PorterStemFilterFactory"/>
</analyzer>
Run Code Online (Sandbox Code Playgroud)

因此,当我进行像“q:something”这样的查询时,如何指定“something”的字段,它的默认字段是什么?

小智 5

您将在请求处理程序中找到默认搜索字段,您需要在 conf/solrconfig.xml 中检查

检查“df”参数,

<str name="df">_text_</str>
Run Code Online (Sandbox Code Playgroud)

或者,如果您想在不更改 df 值的情况下查询特定字段,则需要按以下格式指定查询,

fieldname:something
Run Code Online (Sandbox Code Playgroud)

如果您的查询有多个令牌,您可以将其指定为,

fieldname:"something1 something2"
Run Code Online (Sandbox Code Playgroud)