2013-12-21 29 views
0

我可以使用ClassicAnalyzer找到域名。如何在solr搜索中匹配子域名?

鑑於與像facebook.com域名一個文檔,什麼是匹配諸如

  • faceboook.com(明顯)
  • xyz.facebook.com
  • abc.xyz查詢的最佳方法.facebook.com
  • Facebook的

分析儀(斷詞,過濾器......)的任意組合或approches建立自己會受到歡迎。

Thx!

+0

所以,如果你搜索'facebook'你也想匹配'xyz.facebook。 com'。但是,如果你搜索'xyz',你不**就不想匹配'xyz.facebook.com',對吧? – cheffe

+0

是的,就是這樣。 –

回答

0

我最終使用​​與像圖(A-ZA-Z \ -_ 0-9] +)

0

我認爲在這種情況下StandardTokenizer更好。它將互聯網域名和電子郵件地址保存爲一個令牌。如果您發佈一個示例文檔以及幾個您希望匹配的搜索字詞,這會有所幫助。

更新:看看text_general字段類型,這正是你正在尋找的。我對xyz.facebook.com,faceboook.com,abc.xyz.facebook.com和facebook進行了分析,並將它們中的每一個都保存在一起,並以您想要的方式進行匹配。

+0

與solr 4.6中的StandardTokenizer不會檢測HOST類型的令牌(例如域)。只有ClassicTokenizer或UAX29Tokenizer可以。 –

+0

添加了上面對我的答案的更新。 – Arun