簡體   English   中英

如何在Apache Lucene SOLR 6.3.0中准確實現,開始並獲得類似結果

[英]how to achive exact, start with and like result in Apache Lucene SOLR 6.3.0

我已經開始為自動完成實現Apache Lucene SOLR 6.3.0實施。

在那我創建列模式,如:

<fields>  
 <field name="id" type="int" indexed="true" stored="true" required="f" multiValued="false" />  
 <field name="specialityName" type="string" indexed="true" stored="true"/>  
 <field name="isActive" type="int" indexed="false" stored="true"/>  
 <field name="term" type="string" indexed="true" stored="true"/> 
<field name="tableName" type="string" indexed="true" stored="true"/>     
</fields> 

並希望在術語列中進行搜索。

我對自動完成結果的要求是這樣的。

My data   // Exact match.
My data%  // Start with.
%My data%  // Any where in string.

這個。 因此,我想以此來存檔最大可能的結果。 我嘗試了許多查詢方式,但未成功。

任何幫助都會對我有幫助。

對於完全匹配,您可以嘗試q=term:"My data"

首先,您可以嘗試q=term:My data*

對於部分搜索或任何您可以嘗試的地方q=term:*Mydata*

嘗試使用q=term:My*data*

您可以嘗試以下字段類型,當將用戶輸入傳遞給SOLR您將從輸入本身中刪除空格,它將完全返回您需要的內容:

        <fieldType name="input_general" class="solr.TextField">
        <analyzer type="index">
            <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="([^a-zA-Z0-9])" replacement="" replace="all" />
            <tokenizer class="solr.KeywordTokenizerFactory" />
            <filter class="solr.LowerCaseFilterFactory" />
        </analyzer>
        <analyzer type="query">
            <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="([^a-zA-Z0-9])" replacement="" replace="all" />
            <tokenizer class="solr.KeywordTokenizerFactory" />
            <filter class="solr.LowerCaseFilterFactory" />
        </analyzer>
    </fieldType>

並將term字段更改為:

<field name="term" type="input_general" indexed="true" stored="true"/>

應用您的示例:

進行Exact Match Search ; 您可以嘗試q=term:"Mydata"

Start With Search ; 您可以嘗試q=term:Mydata*

對於the Contain Search ; 您可以嘗試q=term:*data*

您可以按照以下提及的方式進行搜索。

prefTerm:"My Data" || prefTerm:My\\ \\Data* || prefTerm:*My*pain*

"My Data" : Exact match

My\ \Data*: Start with, here we need to escape all extra characters which can impact in jenkins search

*My*pain*: contains search

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM