[英]Solr: Define type in schema file for data value as FilePath
我想在SOLR數據文件夾中上傳FilePath,並使用LIKE操作通過我的網站進行搜索。
為此,我嘗試在架構文件中使用以下類型,但未成功。
嘗試1。
<fieldType name="string_wildcards" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.ISOLatin1AccentFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="30"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.ISOLatin1AccentFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
</analyzer>
</fieldType>
嘗試2。 使用字母標記器。
<fieldType name="string_wildcards_letter" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.LetterTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="30"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
嘗試3.使用關鍵字標記器。
<fieldType name="string_wildcards_keyword" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="30"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
以上三個嘗試均未成功。 任何人的幫助將不勝感激。
SOLR查詢示例
Field Name:
OriginalFilePath
My Input value is:
X:\Intake\1102\02.01.11\TX_DA26396_RushTopCompanies_Non-SERFF_01.28.11_PR\TX_P_1_01.28.11_NS\Dairyland County Mutual Insurance Company_01.28.11 03.pdf
My Query is:
OriginalFilePath:(x\\:\\\\intake\\\\1102\\\\02.01.11\\\\tx_da26396_rushtopcompanies_non\\-serff_01.28.11_pr\\\\tx_p_1_01.28.11_ns\\\\dairyland county mutual insurance company_01.28.11 03.p*)
最后一個建議是在該字段上使用LIKE操作。
請讓我知道查詢格式中是否有任何問題。
謝謝。
您可以檢查PathHierarchyTokenizer ,它將分割路徑並幫助您執行通配符查詢。
您也可以使用RegularExpressionPatternTokenizer並在定界符上生成令牌。 您最終將獲得可以與通配符查詢一起使用的單個令牌(而不是文件路徑層次結構)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.