0

Solrj を使用して、Solr でドキュメントのインデックスを作成しています。フィールドの 1 つは URL です。solr ドキュメントを作成し、それを SolrServer に渡す間、URL の元の形式を維持するために、明示的なデコードは行いません。ただし、インデックスが作成されると、URL はデコードされます。

Here's a test example which contains apostrophe.


http://test.com/test/Help/What%e2%80%99s_N1

In solr index, it's being decoded to


http://test.com/test/Help/What's_N1

Here's a sample code :


SolrServer solrServer = new StreamingUpdateSolrServer(solrPostUrl, solrQueueSize, solrThreads);
SolrInputDocument solrDoc = new SolrInputDocument();
solrDoc.addField("url", "http://test.com/test/Help/What%e2%80%99s_N1");
UpdateResponse solrResponse = solrServer.add(solrDoc);

I looked into the SolrInputDocument object, it does have the right format, i.e. the encoded version.

I'll appreciate if someone can provide pointers to this.

Thanks

4

1 に答える 1

1

トークナイザーのせいだと思う

多くの余分な文字を削除し、トークンの種類を意味のある値に設定する優れた汎用トークナイザー。トークンの種類は、同じトークンの種類を認識している後続のトークン フィルターにのみ役立ちます。StandardTokenizer の型を使用するフィルターはありません。

standardTokenizer について

ここでチェックしてください

この動作はすべて solr/schema.xml で変更できます

于 2012-06-27T07:17:56.587 に答える