1. 程式人生 > >solr模糊查詢

solr模糊查詢

今天重點講模糊檢索中文名字

solr對中文進行分詞,如果不是一個詞,可能會丟失字,然後在查詢名字的,會感覺不太準確。

solr裡面提供了很多查詢匹配的方法例如:

1.使用*:resume_keyword:*王*

2.使用AND 拼接查詢 keywords:*建築* AND personName:*王* 

3.OR keyword:建築 OR personName:王

4. 否: AND resume_keyword:(* NOT *李*)  上面的都是用拼接的,也可以用過濾query.addFilterQuery(" per_name:(*李* )");

5.名字匹配法:之前做搜尋的時候,名字設定成了分詞,然後分詞結果不太準確,比如:ABC,它可能分成了AB 然後沒有C,所以你在查詢的時候,就查不到ABC。

   之前的分詞是IK

<fieldType name="text_ik" class="solr.TextField">
    <analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    <analyzer type="query" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  </fieldType>

出現了上述問題,然後我們研究了一下schema.xml裡面的屬性型別,之前用text_ik, 改成了text_general,這樣它就可以把ABC分成了A,B,C 通過一個其中的一個字或者ABC都可以檢索了,就不用上面的模糊匹配了,就算匹配了,也不太準,可能把自己需要的那一行資料放到了第七八行,而不是第一行。如果按照上面修改,就可以把想要的資料放到第一位了

期間看到網上有介紹,把你傳入的字進行分詞,然後把分的詞當條件傳進去,這種思路可行,我覺得比較符合檢索文章的關鍵字

還在繼續摸索solr,schema.xml裡面有很多東西需要學習,如果明白了這個,我覺得solr的核心東西,你基本就懂了

相關推薦

solr模糊查詢

今天重點講模糊檢索中文名字 solr對中文進行分詞,如果不是一個詞,可能會丟失字,然後在查詢名字的,會感覺不太準確。 solr裡面提供了很多查詢匹配的方法例如: 1.使用*:resume_keywo

Solr之精確、匹配、排序、模糊查詢-yellowcong

Solr查詢資料,其實下面一堆的引數,我也沒有做測試,只是轉載過來了,我大概只用了高亮、排序、查詢、分頁,其他的好像沒有用過,以後用再來查 一.基本查詢 引數意義 q 查詢的關鍵字,此引數最為重要,例如,q=id:1,預設為q=:, fl 指定返回哪些欄位,用逗

DevExpress 選擇框如何進行模糊查詢

sea 模糊 click 效果 bject private 再看 輸入文字 進行 dev中有很多的選擇框控件,但是沒有發現能夠實時模糊查詢的選擇框,lookupedit是在數據源不變情況下實現自動匹配,但很多時候數據量太大以至於我們沒法先綁定數據源。 這時我們需要一個能夠實

mybatis 模糊查詢

names sel concat earch result space ear ace res <mapper namespace="com.edc.dao.organize.OrganizeInfoMapper" > //對應相應的mapper.java文件

LINQ多條件OR模糊查詢

轉載 這樣的 .com 最終 () msdn soci table copy 需求是這樣的,有一張表tbl(Key[int],Value[string]),數據存儲如下: Key Value 1 -a-b- 2 -a- 3 -c-e- 4 -f-g-

如何結合IbatisNet的LIST遍歷實現模糊查詢

mov earch home 輔助 iba pda person list() rate 我仿照Java的Spring+Ibatis+Struct用Castle+IBatisNet+Asp.net的開發框架的DAO的基類:BaseSqlMapDao內定義了一個內部類來輔助模

實現模糊查詢

根據 def art 所有 cnblogs sse 建立 prop bsp QureyFind的find按鈕中when-button—pressed 進行字符串的拼接 在Controller塊中建立一個item,將其長度屬性改的大一些。、 QureyFind的fin

SQL 模糊查詢

配對 address string 引號 add table cell code 過程 SQL 模糊查詢 在進行數據庫查詢時,有完整查詢和模糊查詢之分。一般模糊查詢語句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 條件 其中關於

MySQL指定模糊查詢範圍 或 獲取或者查詢數據庫字段的特定幾位

length oracle 一個 中一 字段 範圍 htm 截取 模糊查詢 SUBSTR 函數 正常的: select * from sky_user WHERE name LIKE "%name%" 現在我需要匹配name的前五位 select * from sk

10 行 Python 代碼實現模糊查詢/智能提示

import 3.5 django title gif function 項目 正則表達 裏的 10 行 Python 代碼實現模糊查詢/智能提示 1、導語: 模糊匹配可以算是現代編輯器(如 Eclipse 等各種 IDE)的一個必備特性了,它所做的就是根據用戶輸入

MySQL多項模糊查詢

logs alt 查找 cat com 關鍵字 導師 concat 復雜 最近有個需求,就是要根據搜索框裏面的關鍵字,找到符合條件的數據。 如果是單個條件的話,其實就是一個普通的select語句。 但是需求是這個關鍵字,要在id,desc,step等多個字段模糊查找。 然後

mysql全文索引之模糊查詢

http mysql5 var innodb 沒有 null into user 測試數據 舊版的MySQL的全文索引只能用在MyISAM表格的char、varchar和text的字段上。 不過新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具體信息大家

mysql中模糊查詢的四種用法介紹

包含 如果 正則 搜索 name 模糊查詢 長度 use mysql 下面介紹mysql中模糊查詢的四種用法: 1,%:表示任意0個或多個字符。可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。 比如 SELECT * FROM [user] W

mysql正則查詢 模糊查詢

lec clas 找不到 not code cap col and regexp -- ==============正則查詢================ /* SQL默認是忽略大小寫的 正則模式使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT

.net like模糊查詢參數化

string sha parameter 錯誤 and 程序 報錯 sel csharp List<SqlParameter> paras = new List<SqlParameter>();

mybatise 實現同一字段多模糊查詢

for ise concat cat type sep item 模糊查詢 foreach mybatise 同一字段多模糊查詢 <foreach collection="typeList" index="index" item="item" open="("

Easyui 實現智能模糊查詢(智能檢索)

easyui 實現智能模糊查詢js代碼: <input id="proBidSectionone" name="proBidSectionone" value="">重點://工作標段模糊查詢 $("#proBidSectionone").combobox({ valueFie

thinkphp 條件查詢 模糊查詢 區間查詢 in 查詢 與自定義查詢

thinkphp eq => ‘=‘ $map[‘id‘]= array(‘eq‘,‘2‘); neq => ‘<>‘ $map[‘id‘]=array(‘neq‘,2); gt => ‘>‘ $map[‘id‘]=array(‘gt‘,3); egt => ‘>

JavaScript根據Json數據來做的模糊查詢功能

處理 false 通過 開始 方法 this eve fin 香瓜 類似於百度搜索框的模糊查找功能 需要有有已知數據,實現搜索框輸入字符,然後Js進行匹配,然後可以通過鼠標點擊顯示的內容,把內容顯示在搜索框中 當然了,正則只是很簡單的字符匹配,不具備多麽復雜的判斷 <

MyBatis模糊查詢

mybatis模糊查詢本文出自 “小小碼農” 博客,請務必保留此出處http://daoqingyu.blog.51cto.com/5185063/1950662MyBatis模糊查詢