lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Lea <ian....@gmail.com>
Subject Re: How to add a field to hold a Java map object?
Date Thu, 14 Feb 2013 09:49:45 GMT
You should get back the stored value from the index as it was when you
added it.  But depending on your analyzer, and your requirements, you
may not be able to search as you want.

Read up on analysis and how to use it or not use it for individual
fields, stored and/or indexed.  Read Lucene in Action.

Post again with complete self-contained code, and details of what
is/isn't happening correctly, if you can't work it out.


--
Ian.


On Thu, Feb 14, 2013 at 4:13 AM, Cheng <zhoucheng2008@gmail.com> wrote:
> Here is my code to add Java map object into Lucene:
>
> Map<String, String> map = new HashMap<>();
> map.put("栋", "6");
> map.put("号", "202");
>
> Fieldable fd = new Field("testMap", map.toString(), Store.YES, Index.NO);
>
> Document d = new Document();
>
> d.add(fd);
>
> try {
> writer.addDocument(d);
> writer.commit();
> } catch (Exception e) {
>
> }
>
>
> Unfortunately, when I search the index, all what I get is:
>
> {号=202, 栋=6}, which doesn't contain double quotes. Therefore I can't
> rebuild the map object with the return value.
>
> Please help.
>
>
> On Wed, Feb 13, 2013 at 10:46 PM, Cheng <zhoucheng2008@gmail.com> wrote:
>
>>
>> http://lucene.apache.org/core/4_0_0-BETA/core/org/apache/lucene/document/StringField.html
>>
>> I found StringField API here, however, it seems that StringField can't be
>> found and thus not compiled.
>>
>> My lucene is 3.5
>>
>>
>> On Wed, Feb 13, 2013 at 4:54 AM, Ian Lea <ian.lea@gmail.com> wrote:
>>
>>> Assuming you mean the String representation of a Map, the same way you
>>> do any other String: use StringField or an analyzer that keeps the
>>> characters you want it to.  Maybe WhitespaceAnalyzer.
>>>
>>>
>>> --
>>> Ian.
>>>
>>>
>>> On Wed, Feb 13, 2013 at 1:34 AM, Cheng <zhoucheng2008@gmail.com> wrote:
>>> > Hi,
>>> >
>>> > How can I add field to hold a Java map object in such way that the "[",
>>> > "]", "," are preserved?
>>> >
>>> > Thanks!
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message