2
多字的方面我想添加允許人們查找潛在的朋友或者通過電子郵件地址(如果有的話)或名字,如果你不這樣做的搜索功能。我目前正在考慮Lucene,但我願意考慮其他解決方案。我想創建一組文檔這樣:模糊搜索在Lucene的
| id | text | text |
| 1234 | [email protected] | John Doe |
| 1235 | [email protected] | Jane Doe |
| 1236 | [email protected] | Madonna |
(是的,text
被多次指定)
這是所有索引與
new IndexWriter(directory, new IndexWriterConfig(Version.LUCENE_40, new KeywordAnalyzer()));
,然後我做一個搜索:
TopDocs results = mySearcher.search(
new FuzzyQuery(new Term("text", term), 2, 0),
10);
我可以用電子郵件做搜索就好。搜索[email protected]
,[email protected]
所有的工作。我可以搜索單詞的名稱,如Madonna
也很好。但只要我試圖找到多個單詞的名字,它就會崩潰。搜索John
,Jane
,John Doe
或Doe
都不會返回任何結果。
我很好奇,一個更好的方法(有一個2 - 編輯距離比賽能在多大程度上把我一些明顯的限制),並且還我怎樣才能使多字相匹配的工作。
謝謝,但不幸的是,這個建議有點過於籠統,不能真正幫助我...... – 2012-07-21 20:26:11