我有一个我想要搜索的URL数据库。由于网址并不总是相同(可能有或没有www),我正在寻找正确的方法来索引和查询网址。 我已经尝试了一些东西,我觉得我很接近,但不知道为什么它不工作:索引和查询Solr中的URL
这里是我的自定义字段类型:
<fieldType name="customUrlType" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
例如:
http://www.twitter.com/AndersonCooper索引时,会在不同的位置下面的话:HTTP,WWW,叽叽喳喳,玉米,安德森·库珀
如果我要寻找的只是twitter.com/andersoncooper,我想这个查询匹配的是索引记录, 这就是为什么我也使用WDF来分割搜索查询 但是搜索查询最终如下所示:
myfield :(“twitter com andersoncooper”)当真的希望它匹配具有以下所有内容的所有记录时字:twitter com andersoncooper
是否有一个不同的查询过滤器或标记器我应该使用?
您是否曾经最终将这个问题整理出来? – Cyrus 2011-09-13 06:59:54
你认为我们需要在这里做什么? – 2014-03-28 16:10:10