solr欄位查詢失效的問題

2021-09-09 08:41:09 字數 710 閱讀 4990

最近在使用solr的過程當中遇到了乙個問題,就是在建立solr欄位(filed)的時候查詢失效,我第一相當的當然是在schema.xml中的這個欄位中檢視indexed的屬性是否設定為true,果不奇然,為false,然後我手動修改為true.重啟後接下來查詢該欄位發現還是不行。

我建立的字段是店鋪的名稱(store_name) 然後我就使用store_name:店鋪名稱  查詢 發現問題 必須輸入店鋪的全名稱才能查詢到資料 類似sql中的like語句失效 相當於是sql中的=語義 沒轍 我又再一次尋找問題所在,找了n久之後發現還有分詞這一說法。

於是乎我再一次在store_name的type屬性由之前的string改為text_ik ,重啟之後(在這裡我懷疑應該就沒有問題了,但是後面重啟之後還是沒有生效 猜想是否是由於修改配置檔案重啟,solr的快取問題導致修改配置沒有立即生效),發現仍然沒有效果 這些可把我苦惱住了,然後使用了copyfield標籤和dynamicfield標籤的索引  都沒有辦法解決這個問題。這個時候已經是凌晨4點多了 我實在沒辦法了 ,得了 關閉伺服器 洗洗睡吧。

第二天中午起床之後,開啟伺服器,打算在尋找問題所在,心理抱有一絲絲的幻想 嘗試再試一次。喜出望外。居然沒有問題了,成功了!所以推斷出字段查詢只要設定了indexed=true,如果是分詞查詢的話 再設定type=text-ik 基本就不存在問題了。如果沒有效果 也許是由於solr修改配置檔案之後立即重啟 存在的快取問題導致的 所以過一會再看看 應該就沒問題了

solr實體巢狀 字段加權查詢

建立索引時可能遇到實體巢狀的情況,比如學生資訊中包含多個活動。在solr的data config.xml中配置 and sp.email u.email deltaimportquery select concat studentprofile studentprofileid as solr id...

Solr頁面查詢各個字段引數解釋

q 查詢的關鍵字,此引數最為重要,例如,q id 1,預設為q 類似於sql中的where 1 1。fq filter query 過濾查詢,提供乙個可選的篩選器查詢。返回在q查詢符合結果中同時符合的fq條件的查詢結果,例如 q id 1 fq sort 1 to 5 fq section 0,找關...

solr增量更新的字段

在配置增量更新時mysql表裡要有乙個字段,update time能讓solr找到那些行是新增的,在配置檔案裡的sql要加上條件where update time update time欄位要是date型別,但是我們在設計表的時間該字段是long的時間戳。所以當我在進行增量更新時,被更新的總是全量。...