我想使用solr keepwordfilterfactory
,但沒有爲此獲取適當的標記。用例是,我有一個字符串說hi i am coming, bla-bla go out.
現在從下面的字符串我想保留像hi i
,coming,
, bla-bla
, bla-bla
等字。所以什麼標記與過濾器工廠使用,以便我能夠得到任何這樣的組合在facet 。嘗試了不同的分詞器,但沒有得到確切的結果。我正在使用solr 4.0
。是否有任何這樣的標記器基於所使用的保留字進行標記。keepwordfilterfactory在solr中的標記器
回答
什麼是標記化(將長文本拆分爲單個標記)的「規則」。上面的例子似乎暗示有時候你有單個單詞標記,有時候還有一個多詞(「hi i」)。多字的情況在這裏是有問題的,但是你可以通過結合ShingleFilterFactory來給你提供多字詞標記以及原始標記,然後你只保留你想要的項目。
我不確定KeepWord過濾器是否正確處理多字字符串。如果沒有,你可能希望在拼接過程中有一個特殊的分隔符,然後regex將它過濾回空間作爲最後一步。
基本上我有一個預定義的固定字的集合,需要從特定字段的給定字符串進行標記,並對這些字段僅對該字段進行標記。我的問題是KeepWord過濾器與大多數tokenizer一起工作,直到單詞之間沒有空白,並給出預期的輸出,但是當有任何空白時,我沒有得到該單詞。就像我的問題中的字符串一樣,我會'來,'和'bla-bla',但不會'嗨i'。所以我需要一些機制來查找定義的單詞,並且如果它是多字的話,不會在空白符號之間進行標記。多字的KeepWord過濾器應該可以工作。 – user850234
試試ShingleFilterFactory我在Whitespace tokenizer之後和KeepWordFilterFactory之前提到過。在Admin UI分析屏幕(我假設Solr 4)中檢查您的文本在經歷不同階段時的樣子。 –
謝謝你的工作 – user850234
- 1. 在Solr中使用多個標記器
- 2. 在Solr中組合多個標記器
- 3. Solr中的詞性標記器映射
- 4. 如何在solr中的過濾器之間使用標記器?
- 5. SOLR 1.4 - 按標記排序
- 6. Solr光標標記和分頁
- 7. 在Solr的不同字段中搜索不同的標記
- 8. Solr標記器過濾器子字符串
- 9. 如何在Lucene/Solr中正確實現我的自定義標記器?
- 10. Solr的標記搜索結果
- 11. Solr和標記上的操作
- 12. 標題中的完整標題在SOLR
- 13. 是否有方法在SOlr中指定文檔感知標記過濾器?
- 14. 使用Solr搜索HTML標記?
- 15. Solr複合詞詞形標記器 - 結果視爲OR語句
- 16. Solr多個過濾器標記/不包括
- 17. 如何標記Solr中的短語並獲取刻面
- 18. Solr查詢中匹配標記的數量
- 19. Solr查詢必須匹配字段中的所有字/標記
- 20. 在javascript標記中的PHP標記
- 21. Solr:排除某些HTML標記或僅包含索引內的某些標記
- 22. 在solr中索引時從標記中刪除額外的額外時段(點)
- 23. Solr日誌記錄
- 24. Sitecore SOLR索引中的重複記錄
- 25. 索引Solr中加入的記錄
- 26. SOLR在solr 4.8.1版本中使用#標籤搜索
- 27. Solr中的分析器QueryParserPlugin
- 28. 包含在struts2中迭代器標記
- 29. 在Elasticsearch中合併標記過濾器
- 30. 如何在elasticsearch中設置標記器
你想「嗨,我」是一個單一的令牌或是一個錯字嗎?你到目前爲止嘗試了哪些標記物以及哪些是問題? – jpountz
@jpountz:「嗨,我」是一個單一的令牌,而不是一個錯字。有一些固定的單詞可以是單個或多個,並且需要根據給定字符串中的這些單詞列表進行標記。我已經嘗試了以下標記直到現在:'solr.KeywordTokenizerFactory,solr.LetterTokenizerFactory,solr.WhitespaceTokenizerFactory,solr.LowerCaseTokenizerFactory,solr.StandardTokenizerFactory,solr.ClassicTokenizerFactory,solr.PatternTokenizerFactory'。問題是如果我有多個單詞分隔空間,我無法將它與單個單詞一起。我只得到'噓聲來','不'嗨我''。 – user850234