我是一名Solr初學者,從第一次開始,我就用它爲我的項目工作了一個月,一切都很好,但我遇到了問題。如果我有這樣一句話:「當你愛一個人時,世界正在閃耀」。如果我用'當你'或'閃亮'沒有結果,但當我嘗試使用'你愛'或'世界是',或者只是'愛'或某種類型時,結果就會出現。我想問一下如何通過schemal.xml文件進行配置,或者我犯了什麼錯誤,謝謝!爲什麼我不能搜索Solr字段中的第一個單詞或最後一個單詞?
這裏是Schema.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<schema name="minimal" version="1.1">
<field name="_version_" type="long" indexed="true" stored="false" />
<field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
<uniqueKey>id</uniqueKey>
<solrQueryParser defaultOperator="AND"/>
<field name="dplname" type="text_general" multiValued="false" indexed="true" required="true" stored="true"/>
<field name="mail" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="phone" type="text_general" indexed="true" stored="true"/>
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
<field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>
<copyField source="dplname" dest="text"/>
<copyField source="mail" dest="text"/>
<copyField source="phone" dest="text"/>
<fieldType name="int" class="solr.TrieIntField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="float" class="solr.TrieFloatField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="long" class="solr.TrieLongField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="double" class="solr.TrieDoubleField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
</schema>
更新:我用這個查詢來搜索:dplname:明媚或種類。
你是如何搜索?至於你的查詢是什麼? – root545
嗨,我的查詢是dplname:*明媚*或種類。 – iamatsundere181
你有意做外卡搜索嗎?如果你只搜索這樣'dplname會發生什麼:shining' – root545