웹 페이지의 색인을 생성하는 Solr 인스턴스가 있는데 URL의 일부를 쿼리 할 수 있기를 원합니다. 예 : en.wikipedia.org/wiki/Main_Page
도 en.wikipedia.org
과 일치해야합니다.PathHierarchyTokenizerFactory가 URL을 분할하지 않습니다.
이 작업을 수행하기 위해 url_tokens
필드를 복사했습니다.이 필드는 내 url
필드에서 복사되고 인덱스 시간에 PathHierarchyTokenizerFactory
을 사용하여 분석됩니다.
은 내가 url_tokens
필드 en.wikipedia.org/wiki/Main_Page
, en.wikipedia.org/wiki
및 en.wikipedia.org
을 포함 할 것이라고 생각하지만,이 내가 SOLR 관리 쿼리 인터페이스에서 얻을 결과입니다
...
"url": "http://en.wikipedia.org/wiki/Main_Page",
"url_tokens": [
"http://en.wikipedia.org/wiki/Main_Page"
],
...
내가 잘못 뭐하는 거지?
이
내의 schema.xml의 관련 부분은 다음과 같습니다<field name="url_tokens" type="url_tokens_type" indexed="true" stored="true" multiValued="true"/>
<field name="url" type="url" indexed="true" stored="true"/>
<copyField source="url" dest="url_tokens"/>
<fieldType name="url" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1"/>
</analyzer>
</fieldType>
<fieldType name="url_tokens_type" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory" />
</analyzer>
</fieldType>
'en.wikipedia.org'와 같은 URL의 일부로 쿼리를 시도한 적이 있습니까? – buddy86
@ buddy86 감사합니다. 귀하의 의견은 올바른 방향으로 생각하게 만들었습니다. – Boris