簡體   English   中英

使用lucene在非分析字段中搜索

[英]search on non analyzed field using lucene

我正在嘗試使用Apache Lucene索引進行搜索。 為此,我在字段filepath上創建了Lucene索引,該索引顯示了路徑,並且未進行分析。

現在,我無法在非分析領域進行搜索。 是否可以在非分析領域進行搜索。 還是有什么方法可以阻止分析時要存儲的單詞分裂。

您可以搜索未分析的字段查詢,但只有在字段值完全等於搜索詞的情況下才會匹配。 就像提到的那樣-短語查詢應用於此目的。

如果要搜索該字段,則需要使用正在分析的該字段重新索引文檔。

您可以嘗試使用現有的分析器/令牌生成器(例如,在創建IndexWriter時設置StandardAnalyzer),也可以實現自己的分析器/令牌生成器,使用文件分隔符作為分隔符將文件路徑拆分為令牌。

如果您感興趣,Solr的PathHierarchyTokenizerFactory已經在存儲之前將一些分層路徑拆分為令牌,然后再進行索引,這使文件路徑搜索更加容易。

是否可以在未分析的字段上進行搜索

為了搜索未分析的字段,您需要使用短語查詢

還是有什么方法可以阻止分析時要存儲的單詞分裂

對不起,我不明白。 如果未分析字段,則不會拆分和存儲該字段。 你能澄清你的問題嗎?

是的,您可以在IndexSearcher配置中用其他關鍵字(例如KeywordAnalyzer)替換standardAnalyzer。 它將把該字段視為搜索的一個術語。

暫無
暫無

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

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