我对Solr完全不熟悉,并且我正在尝试创建一个查询,该查询将返回“成分”字段中的一个或多个值的所有文档(制表符分隔的字符串),但不包括那些具有其他值的文档同一领域的价值观。我们正在运行Solr 4.9
这里的架构:
<fields>
<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
<field name="uri" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_general" indexed="true" stored="true" multiValued="false" />
<field name="text" type="text_general" indexed="true" stored="true" multiValued="false" />
<field name="ingredient" type="tab-delimited-string" indexed="true" stored="true" multiValued="false" />
这是一份文件样本:
{
"text": "Preheat oven to 350 degrees F.\n\nPlace potatoes, heavy cream, egg, salt, parmesan and marjoram in a blender container.\n\nCover and blend at high speed for about 30 seconds.\n\nFill dough in a greased baking dish and bake uncovered for 25-30 minutes at 350 F.\n\nPlace remaining ingredients (without the mozzarella) in a blender, cover and blend at high speed for about 10 seconds.\n\nSpread sauce on potato dough, cover with mozzarella and some sprinkles of oil and bake again uncovered for 20-25 minutes at 350 F.",
"ingredient": "1/2 cup parmesan cheese, grind\t1 lb potato, uncooked,skin removed,diced\t1/2 cup heavy cream\t1 egg\t1 teaspoon salt\t1/2 teaspoon marjoram\t2 cloves garlic, chopped\t1 1/3 cups Tomatoes, diced\tsalt\tpepper\tbasil\t1 cup mozzarella cheese, finely grated\tolive oil",
"uri": "http://www.food.com/recipe/potato-pizza-58181",
"title": "Potato Pizza",
"_version_": 1477518762807656400
},
在搜索并阅读了一些手册后,我想出了这个:
title:pizza AND ingredient:"olive oil" AND -ingredient:("beer" "potatoes")
但它不起作用。我也试过下面的东西,但它不起作用
title:pizza AND ingredient:"olive oil" AND -ingredient:"beer " "potatoes"
title:pizza AND ingredient:"olive oil" AND -ingredient:"beer" AND -ingredient:"potatoes"
我得到的成分领域有土豆或啤酒。有什么想法吗?我错过了什么吗?。
谢谢!
答案 0 :(得分:0)
我想出了这个,我只需要预先/附加*到我的搜索字词。
title:pizza AND ingredient:"olive oil" AND -ingredient:(*beer* *potatoes*)