Wildcard search in Solr

為{幸葍}努か 提交于 2019-12-01 02:51:16

问题


I am having a problem doing wildcard searches in lucene syntax using the edismax handler. I have Solr 4.0 nightly build from the trunk.

A general search like 'computer' returns results but 'comer' doesn't return any results. Similary, a search like 'co?mput?r' returns no results. The only type of wildcard searches working currrently is ones with trailing wildcards(like compute? or comput).

I want to be able to do searches with wildcards at the beginning (puter) and in between (comer). Could someone please tell me what I am doing wrong and how to fix it.

Thanks.

Regards,
Imran.


回答1:


With edismax, leading wildcards are no problem. I just retested it.

Wildcards in middle of term are no problem either.

Looks like there is something else wrong. Are you sure you are using edismax?




回答2:


Leading wildcard won't work unless you activate the reverse string filter. To use it in Solr, add a ReversedWildcardFilterFactory to the analyzer of the field that you want to search with a leading wildcard.

As for your other queries that return 0 result, try using luke to see how your terms are being analyzed (stored in the index). Don't forget to take into account the effect of stemming, if you are using it.



来源:https://stackoverflow.com/questions/3229286/wildcard-search-in-solr

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!