2011-09-21 150 views
0

我有出现这样的多值字段:Solr的搜索多值字段

<arr name="some_name"> 
    <str>a-value-1 a-value-2 ....a-value-n</str> 
    <str>b-value-1 b-value-2 ....b-value-m</str> 
</arr> 

其中n和m可以任意大(假定每个<str>来自于一个页面或一些段落值)。

我将如何搜索,以便结果仅包含所有搜索参数包含在同一个<str>实体中的文档(即不会产生任何误报)?

例如,如果该文件A具有这样的:

<arr name="some_name"> 
    <str>london foo-1 foo-2 ...foo-k 2012 foo-k+1 foo-k+2 ...foo-k+n</str> 
    <str>beijing bar-1 bar-2 ....bar-j 2008 bar-j+1 bar-j+2 ....bar-j+m</str> 
</arr> 

会是怎样的话伦敦和2008年进行搜索时,将不包括文件A在结果中查询?

如果我想尝试像这样some_name:("london AND 2008"~n),我不知道n的价值是什么。

回答

0

考虑使用高位置增量间距,这将有助于分离多值标记和跨不同多值条目进行交叉匹配。
但是,即使这不会是一个万无一失的解决方案。

+0

没错。那是我登陆的地方。谢谢。 – Mohamed