solr 搜尋時加空格沒有結果

2021-06-18 12:54:39 字數 1147 閱讀 4023

使用solr搜尋時候常會出現以下問題,比如搜尋「茶油」 可以搜尋到結果,但是 茶和油之間加個空格就沒有結果了

首先你要了解產生這個原因的原理。

schema.xml

name

solrconfig.xml

name

="/select"

class

="solr.searchhandler"

>

name

="defaults"

>

name

="echoparams"

>

explicit

name

="rows"

>

10name

="df"

>

text

schema.xml中defaultsearchfield和solrconfig.xml中df屬性都是預設搜尋欄位的意思,不過後者只針對"/select"請求。優先順序是solrconfig.xml的df高於schema.xml的defaultsearchfield

設定預設搜尋欄位的效果:搜尋條件為title:隨意 問,中間的空格預設相當於or,"text"優先於"name",因此搜尋條件等價於title:隨意 or text:問,所以會搜尋不出結果。

建議解決方法:

方法1:可以將搜尋條件變為title:(隨意 問),等價於title:隨意 or title:問。 

方法 2:搜尋條件不變,查詢時url加上df引數"&df=title",也可以解決。

方法3:把

name

="df"

>

text

改為你要預設的查詢字段比如改為name  搜尋"茶 油"的時候 及類似魚 name="茶" or  name="油"

Solr 搜尋不為空值

1 被搜尋的列必須被索引,否則搜尋不到資料,設定schema.xml檔案中該列的indexed為true,如下 2 solr搜尋非空語法為 to 可以在搜尋url中加上過慮條件fq,如下面表示只搜尋picurl不為null的資料 http localhost 8070 sale api.htm?in...

解決solr無法加core

提示缺少配置檔案 error createing solrcore new core unable to create core new core caused by can t find resource solrconfig.xml in classpath or usr local solr7...

solr 搜尋架構優化

將現在架構大小索引方式,乙個大索引有幾千萬資料 小索引幾萬資料,還有另乙個結點有三百萬左右資料,現在每天有900萬左右的請求量,已經可以達到90 以上在100ms以下響應。但還是有少許的搜尋可能達到了兩秒以上,還有乙個就是現在索引是放在共享記憶體裡,如果那天這兩台神機沒有了話就比較麻煩,這次的公升級...