Solr學習總結 自己開發Solr

2021-06-09 20:10:19 字數 2516 閱讀 6561

選擇json返回格式,預設是xml

自定義request handler

需要apache-solr-solrj-3.1.jar, apache-solr-core-3.1.jar, and lucene-core-3.1.jar

繼承standardrequesthandler:

public class examplerequesthandler extends standardrequesthandler 

}

註冊requesthandler:

自定義filter:

需要apache-solr-core-3.1.jar,lucene-analyzers-3.1.jar and lucene-core-3.1.jar

繼承tokenfilter:

public class examplefilter extends tokenfilter 

@override

public boolean incrementtoken() throws ioexception

stringbuffer buffer = new stringbuffer();

termattr.settermbuffer(buffer.tostring());

termattr.settermlength(buffer.length());

return true;

}return false;

}}

繼承basetokenfilte***ctory:
public class examplefilte***ctory extends basetokenfilte***ctory 

}

註冊fieldtype:

自定義search component

需要apache-solr-core-3.1.jar and apache-solr-solrj-3.1.jar,lucene-core-3.1.jar

繼承searchcomponent:

public class examplesearchcomponent extends searchcomponent 

@override

public void process(responsebuilder builder) throws ioexception

}builder.rsp.add( "example", totalmemorysize );

}@override

public string getdescription()

@override

public string getsource()

@override

public string getsourceid()

@override

public string getversion()

}

註冊:examplecomponent

自定義field type

需要apache-solr-core-3.1.jar,lucene-core-3.1.jar

繼承sortableintfield:

public class examplefieldtype extends sortableintfield 

public final void write(final xmlwriter xmlwriter, final string

name, final fieldable field) throws ioexception

public final void write(final textresponsewriter writer, final

string name, final fieldable field) throws ioexception

protected string getinternalvalue( string value ) else if (parts[1].length() == 1) else

} else if (parts.length == 1)

return internalvalue;

}protected int getval( fieldable field )

protected string parsefromvalue(final string value)

return buffer.tostring();

}}

使用:

solr 總結學習

大佬給的乙個slor zip的安裝包。解壓後,可以直接執行。相當於springboot一樣。的文章 1.這個是大佬推薦的一篇文章,通過它自己將slor安裝到本地,執行起來了 2.這篇文章是自己搜尋的。通過它自己也在乙個伺服器上安裝成功了。但是它的方法太繁瑣了。slor7,可以單端執行,不需要再通過t...

Solr學習總結(一)Solr介紹

solr是乙個基於lucene的全文搜尋引擎,同時對其進行了擴充套件,提供了比lucene更為豐富的查詢語言,實現了可配置 可擴充套件並對查詢 效能進行了優化,更靈活的配置,更高的查詢效率。支援 xml http協議 支援 json api 介面 支援快取 複製 同時具有完善的web管理介面,是一款...

Solr學習總結(一)Solr介紹

公司裡用的都是solr但是自己只學了點lucene,對solr還是不夠了解,所以決定系統的學習下。solr是乙個基於lucene的全文搜尋引擎,同時對其進行了擴充套件,提供了比lucene更為豐富的查詢語言,實現了可配置 可擴充套件並對查詢效能進行了優化,更靈活的配置,更高的查詢效率。支援 xml ...