我是Solr的新手,我開發了一個分組搜索,它應該按object_class對搜索結果進行分組(每個數據庫表都有一個像User,Artist等對象)。SOLR查詢與字段不正確開頭
現在我試圖建立一個搜索,它應該搜索字段,如標題,副標題,內容和傳記。
對於每個對象,我都有一個不同的搜索查詢(因爲solr在分組結果時無法實現不同的排序順序)。
問題:有一個標題爲「Cuebrick」的藝術家。現在通常應該在搜索Cueb或標題時找到它:Cueb *,但這不起作用。
像截圖一樣,您可以看到我在尋找Cueb,標題:cueb *和標題:cuebrick with object_class:Artist(... AND ...)。
爲什麼我的「喜歡」查詢工作?
查詢:cueb AND object_class:Artist
查詢:headline:cueb* AND object_class:Artist
查詢:headline:cuebrick AND object_class:Artist
我的架構的重要組成部分,是這樣的:
<field name="headline" type="text_de" indexed="true" stored="true" stripHTML="true" />
(... same for content, subtitle and biography)
<defaultSearchField>text</defaultSearchField>
<copyField source="headline" dest="text"/>
<copyField source="content" dest="text"/>
<copyField source="keywords" dest="text"/>
<copyField source="subtitle" dest="text"/>
<copyField source="biography" dest="text"/>
,在這裏我text_de定義(改變了它,現在,我一定要重新索引?重啓沒有改變任何東西):
<fieldType name="text_de" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory" splitOnCaseChange="1" splitOnNumerics="1" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.SnowballPorterFilterFactory" language="German2" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_de.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory" splitOnCaseChange="1" splitOnNumerics="1" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.SnowballPorterFilterFactory" language="German2" />
</analyzer>
</fieldType>
您可以分享字段類型「text_de」的詳細信息。哪些分析儀適用於查詢和索引時間? – mgs
@mgs完成:)請參閱編輯 – ahmet2106
@mgs立即更新到架構(請參見上面) – ahmet2106