solr拼寫檢查配置

2022-03-24 01:41:38 字數 3942 閱讀 9263

拼寫檢查功能,能在搜尋時,提供乙個較好使用者體驗,所以,主流的搜尋引擎都有這個功能。

solr是乙個基於lucene開發介面實現的成熟的搜尋系統,通過不同的控制項(component)實現不同的搜尋功能,其中乙個spellcheckcomponent實現了拼寫檢查功能。

要在搜尋過程中新增拼寫檢查功能,必須在solr的solrconfig.xml中配置spellcheck控制項,並在相關searchhandler(select/query等)中新增拼寫檢查引數配置。

配置如下:

1

8<

searchcomponent

name

="spellcheck"

class

="solr.spellcheckcomponent"

>910

11<

str

name

="queryanalyzerfieldtype"

>text_general

str>

1213

1617

18<

lst

name

="spellchecker"

>

1920

<

str

name

="name"

>default

str>

2122

<

str

name

="field"

>text

str>

2324

<

str

name

="classname"

>solr.directsolrspellchecker

str>

2526

<

str

name

="distancemeasure"

>internal

str>

2728

<

float

name

="accuracy"

>0.5

float

>

2930

<

int

name

="maxedits"

>2

int>

3132

<

int

name

="minprefix"

>1

int>

3334

<

int

name

="maxinspections"

>5

int>

3536

<

int

name

="minquerylength"

>4

int>

3738

<

float

name

="maxqueryfrequency"

>0.01

float

>

3942

lst>

4344

45<

lst

name

="spellchecker"

>

46<

str

name

="name"

>wordbreak

str>

47<

str

name

="classname"

>solr.wordbreaksolrspellchecker

str>

48<

str

name

="field"

>text

str>

49<

str

name

="combinewords"

>true

str>

50<

str

name

="breakwords"

>true

str>

51<

int

name

="maxchanges"

>10

int>

52lst

>

5354

5565

6673

8081

8291

searchcomponent

>

配置好spellcheckcomponent元件後,需要配置相應的searchhandler,在正式搜尋系統應用中需要配置select和query,自己測試時可以自定義乙個,如:spell,配置如下:

<

requesthandler

name

="/spell"

class

="solr.searchhandler"

startup

="lazy"

>

<

lst

name

="defaults"

>

<

str

name

="df"

>text

str>

<

str

name

="spellcheck.dictionary"

>default

str>

<

str

name

="spellcheck.dictionary"

>wordbreak

str>

<

str

name

="spellcheck"

>on

str>

<

str

name

="spellcheck.extendedresults"

>true

str>

<

str

name

="spellcheck.count"

>10

str>

<

str

name

="spellcheck.alternativetermcount"

>5

str>

<

str

name

="spellcheck.maxresultsforsuggest"

>5

str>

<

str

name

="spellcheck.collate"

>true

str>

<

str

name

="spellcheck.collateextendedresults"

>true

str>

<

str

name

="spellcheck.maxcollationtries"

>10

str>

<

str

name

="spellcheck.maxcollations"

>5

str>

lst>

<

arr

name

="last-components"

>

<

str>spellcheck

str>

arr>

requesthandler

>

在solr中測試如下:

Solr拼寫檢查(spellCheck)配置和使用

solr具有拼寫檢查的功能,您只需修改solr的配置檔案 solrconfig.xml 中spellcheck部分 textspell solr.filebasedspellchecker file spellings.txt utf 8 spellcheckerfile 其中spelling.tx...

Solr拼寫檢查(spellCheck)配置和使用

solr具有拼寫檢查的功能,您只需修改solr的配置檔案 solrconfig.xml 中spellcheck部分 textspell solr.filebasedspellchecker file spellings.txt utf 8 spellcheckerfile 其中spelling.tx...

Solr之拼寫檢查。

首先配置solrconfig.xml檔案可能已經有這兩個元素 如果沒有新增即可 需要根據我們自己的系統環境做些適當的修改。使用solrj時也同樣加入引數就可以。solrquery query new solrquery query.set q query.set qt spell queryresp...